Thread (1 message) 1 message, 1 author, 2007-10-12

Re: [Bugme-new] [Bug 9149] New: accept() doesn't wake with error when socket descriptor closed

From: Andrew Morton <akpm@linux-foundation.org>
Date: 2007-10-12 17:06:55

On Fri, 12 Oct 2007 07:42:06 -0700 (PDT) bugme-daemon@bugzilla.kernel.org wrote:
http://bugzilla.kernel.org/show_bug.cgi?id=9149

           Summary: accept() doesn't wake with error when socket descriptor
                    closed
           Product: Networking
           Version: 2.5
     KernelVersion: 2.6.18
          Platform: All
        OS/Version: Linux
              Tree: Mainline
            Status: NEW
          Severity: normal
          Priority: P1
         Component: IPV4
        AssignedTo: shemminger@linux-foundation.org
        ReportedBy: mkielar@go2.pl


Most recent kernel where this bug did not occur: no idea
Distribution: no idea - remote server
Hardware Environment: i686
Software Environment: no idea - probably pure console server

Problem Description:
In multithreaded process, one thread launches accept() on a valid-so-far
listening socket file descriptor sockfd and waits on it. After this second
thread launches close( sockfd ). First thread further waits on accept() even
though the descriptor is now invalid. accept() should wake up and return with
-1 and errno EBADF.
I have a feeling this is an FAQ, but I forget what the answer is?
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help