threads/72429: threads blocked in stdio (fgets, etc) are not
cancellable in 5.3 (works in 4.x)
Daniel Eischen
deischen at gdeb.com
Thu Oct 7 13:14:30 PDT 2004
fgets is not a required cancellation point. See the POSIX standard.
The standard says it, along with many other functions, _may_ be a
cancellation point, but the only required cancellation points are:
accept() mq_timedsend() putpmsg() sigtimedwait()
aio_suspend() msgrcv() pwrite() sigwait()
clock_nanosleep() msgsnd() read() sigwaitinfo()
close() msync() readv() sleep()
connect() nanosleep() recv() system()
creat() open() recvfrom() tcdrain()
fcntl()2 pause() recvmsg() usleep()
fdatasync() poll() select() wait()
fsync() pread() sem_timedwait() waitid()
getmsg() pselect() sem_wait() waitpid()
getpmsg() pthread_cond_timedwait() send() write()
lockf() pthread_cond_wait() sendmsg() writev()
mq_receive() pthread_join() sendto()
mq_send() pthread_testcancel() sigpause()
mq_timedreceive() putmsg() sigsuspend()
--
Dan Eischen
More information about the freebsd-threads
mailing list