quick Q, i hope. my first time waving a stick at threads, so i'm not
sure if i am doing something wrong here. i am using pth 1.4 on netbsd
1.5V sparc (almost netbsd-current); IRC pth moved from "test" to
"verified" in the netbsd pkgsrc directory only about 2 months ago.
the application is a {r}whois type server. once i have a client
connection, the socket is made non-blocking (for read() or write())
the essentials are added to a linked list and a conditional is signaled.
one of N threads pops a <client info> off the list and uses __pthread_poll()
to implement a timeout (around 10 seconds) waiting for the socket to become
ready to read() (or __pthread_read()).
i am expecting __pthread_*() functions to yield the processor if they would
block, but that does not seem to be the case. the __pthread_poll (or
pth_poll()) block the entire process for _poll()'s timeout period.
am i misunderstanding the way which the __pthread_*() functions should work?
-heas
______________________________________________________________________
GNU Portable Threads (Pth) http://www.gnu.org/software/pth/
User Support Mailing List [EMAIL PROTECTED]
Automated List Manager (Majordomo) [EMAIL PROTECTED]