The following line of code works fine:
ioctl(fd, FIOASYNC, 0);
Where fd is a file descriptor returned from a call to socket(). However,
the following piece of code:
ioctl(fd, FIOASYNC, 1);
returns -1 with errno set to EFAULT.
You're supposed to make the third argument a *pointer*. Something like:
int one = 1;
ioctl(fd, FIOASYNC, &one);
I'm not sure why it would work at all with a null pointer. Perhaps
you're misinterpreting.
------------------------------------------------------------------------------