Thursday, September 27, 2007

System Call vs. POSIX Thread on Select & Poll

Solaris System calls select() (BSD) poll() (AT&T) are _not_ POSIX. BSD and AT&T unix used to have their own ways on this. POSIX threads is recommended than relying on select() or poll() if you really want to write POSIX compliant code. With POSIX threads you should be able to evade the need for using these two system calls. Alternatively you could supply an extra .c file which contains the call to the poll() system call; this file must be translated with the _POSIX_C_SOURCE macro undefined. (You will be calling poll() even if you call select(). As Solaris 2.x is derived from AT&T, poll(2) is used to implement select(3C)).

No comments: