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]

Reply via email to