From owner-freebsd-bugs Sat Feb 2 8:11:34 2002 Delivered-To: freebsd-bugs@hub.freebsd.org Received: from freefall.freebsd.org (freefall.FreeBSD.org [216.136.204.21]) by hub.freebsd.org (Postfix) with ESMTP id 0ED5937B400; Sat, 2 Feb 2002 08:11:33 -0800 (PST) Received: (from roam@localhost) by freefall.freebsd.org (8.11.6/8.11.6) id g12G4Fc77225; Sat, 2 Feb 2002 08:04:15 -0800 (PST) (envelope-from roam) Date: Sat, 2 Feb 2002 08:04:15 -0800 (PST) From: Message-Id: <200202021604.g12G4Fc77225@freefall.freebsd.org> To: yxpan@yahoo.com, roam@FreeBSD.org, freebsd-bugs@FreeBSD.org Subject: Re: i386/34536: accept() blocks other threads Sender: owner-freebsd-bugs@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.org Synopsis: accept() blocks other threads State-Changed-From-To: open->closed State-Changed-By: roam State-Changed-When: Sat Feb 2 07:59:14 PST 2002 State-Changed-Why: accept(2) is documented as a blocking syscall. In FreeBSD's current threads implementation, blocking syscalls block the whole process - all of its threads. The possible ways around that are: using the linuxthreads port, waiting for FreeBSD 5.0's KSE's, or using non-blocking sockets and select(2) as described in the PR. http://www.FreeBSD.org/cgi/query-pr.cgi?pr=34536 To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-bugs" in the body of the message