Trying again: select() should be a cancellation point
s_sourceforge at nedprod.com
Sat Jan 29 06:31:54 PST 2005
As no one replied last time, here's this email again.
I've found that I cannot work around select() not being a
cancellation point on FreeBSD in my code - I had to #ifdef
__FreeBSD__ in a hack which manually calls pthread_testcancel() every
second. This is *nasty*!
If there's any alternative, I'd very much like to hear it. Preferably
I'd like to see select() made a cancellation point or a new form of
select() eg; select_tc() added.
> According to:
> ... it is. But v5.3 FreeBSD doesn't cancel during select(), nor
> during recv().
> OTOH I have other documentation which suggests that neither select() nor
> recv() are cancellation points.
> Oh and on Linux, both are cancellation points. In my mind it's
> probably more useful if they are cancellation points as you can
> always disable cancellation around them if necessary whereas the
> opposite is not true.
More information about the freebsd-threads