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:20:24 PDT 2004
The following reply was made to PR threads/72429; it has been noted by GNATS.
From: Daniel Eischen <deischen at gdeb.com>
To: Mark Gooderum <mark at verniernetworks.com>
Cc: freebsd-gnats-submit at freebsd.org, <freebsd-threads at freebsd.org>
Subject: Re: threads/72429: threads blocked in stdio (fgets, etc) are not
cancellable in 5.3 (works in 4.x)
Date: Thu, 7 Oct 2004 16:14:28 -0400 (EDT)
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