shmat() return values?

Krassimir Slavchev krassi at bulinfo.net
Mon May 26 17:14:45 UTC 2008


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Hello,

When I try:

if ((*shm = shmat(shmid, NULL, 0)) == -1)

The gcc complains with:
warning: comparison between pointer and integer

shmat() is declared in shm.h as:
void *shmat(int, const void *, int);

but 'man 4 shmat;

RETURN VALUES
     Upon success, shmat() returns the address where the segment is
attached;
     otherwise, -1 is returned and errno is set to indicate the error.


What is the correct return value on failure, -1 or NULL?
I think it should be NULL?

Best Regards
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.7 (FreeBSD)

iD8DBQFIOu/+xJBWvpalMpkRAjZUAJ9UWQhOaUw/xtoNTfMydiudWv7apwCaAomp
gJhTr9Iwh0jalQL+r8KwKdY=
=m30h
-----END PGP SIGNATURE-----


More information about the freebsd-stable mailing list