Date: Thu, 7 Oct 2004 19:44:45 -0400 (EDT) From: Daniel Eischen <deischen@gdeb.com> To: Mark Gooderum <mark@verniernetworks.com> Cc: freebsd-threads@freebsd.org Subject: Re: threads/72429: threads blocked in stdio (fgets, etc) are not cancellable in 5.3 (works in 4.x) Message-ID: <Pine.GSO.4.43.0410071922070.3130-100000@sea.ntplx.net> In-Reply-To: <4165C4FC.2010607@verniernetworks.com>
next in thread | previous in thread | raw e-mail | index | archive | help
On Thu, 7 Oct 2004, Mark Gooderum wrote: > Uncle. Okay - you're right, sigh. > > It's not so much that we're using fgets() as many/most C based parsing > libraries use stdio, bleh. > > As for why libc_r is cancellable... > > In 4.x _foo() sets the cancellation state and calls __foo() (for read, > write, et.al), in 5.3 it's reversed. Hmm, that's not what it looks like for read. In 4.x, read() sets the cancellation state and calls _read(). It looks like fgets() ends up calling __sread() which calls _read(), so I'm not sure how cancellation is getting set. Only read() in libc_r sets the cancellation point, not _read(). I'm looking at revision 1.11.2.4 of uthread/uthread.c; are we looking at the same version? -- Dan Eischen
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.GSO.4.43.0410071922070.3130-100000>