On 2009-08-14 at 23:38:31 [+0200], Armando Camarero <arcepi@xxxxxxxxxx> wrote: > I'm trying to compile libmsn in Haiku (to build a native MSN > Messenger client for Haiku). With help from people on the IRC I got to > compile it, but now I might have hit a bug in Haiku. Libmsn uses poll() > to manage the sockets and it doesn't seem to work right. I've read the > poll() manpage of FreeBSD (I think that Haiku implements BSD > compatibility instead of Linux) and it should work as in Linux. Haiku usually tries to follow POSIX, i.e. in this case: http://www.opengroup.org/onlinepubs/9699919799/functions/poll.html > I attach a simple C program which triggers the error. That program > on Linux fetches the index page at www.arcepi.net and prints it on the > terminal. On Haiku poll() marks the socket as POLLNVAL instead. Your program polls two FDs, the second one being -1. Since that is an invalid FD, Haiku correctly sets POLLNVAL for it. I'd say Linux is non-conforming in this respect. CU, Ingo