close() of active socket does not work on FreeBSD 6

Daniel Eischen deischen at freebsd.org
Tue Dec 12 06:24:39 PST 2006


On Tue, 12 Dec 2006, Kostik Belousov wrote:

> On Tue, Dec 12, 2006 at 08:18:32AM -0500, Daniel Eischen wrote:
>> It's also couldn't be entirely solved by fixing it in the
>> threads library.  You could still have a non-threaded
>> application that waits on a read operation, but receives
>> a signal and closes the socket in the signal handler.
>
> This is not the problem. The read (as syscall being executed) is aborted
> when signal is delivered. Original poster considered situation where
> read() is active (in particular, f_count of struct file is incremented
> by fget, that caused the reported behaviour).

Even when SA_RESTART is set?

-- 
DE


More information about the freebsd-arch mailing list