From owner-freebsd-stable Thu Mar 29 11:23:59 2001 Delivered-To: freebsd-stable@freebsd.org Received: from mail01.actzero.com (cpe-24-221-167-196.ca.sprintbbd.net [24.221.167.196]) by hub.freebsd.org (Postfix) with ESMTP id 0497137B71A for ; Thu, 29 Mar 2001 11:23:58 -0800 (PST) (envelope-from blm@actzero.com) Received: by cpe-24-221-167-196.ca.sprintbbd.net with Internet Mail Service (5.5.2650.21) id ; Thu, 29 Mar 2001 11:23:45 -0800 Message-ID: From: Brian Matthews To: "'nate@yogotech.com'" , Allen Landsidel Cc: freebsd-stable@FreeBSD.ORG Subject: RE: Threads vs. blocking sockets Date: Thu, 29 Mar 2001 11:23:44 -0800 MIME-Version: 1.0 X-Mailer: Internet Mail Service (5.5.2650.21) Content-Type: text/plain; charset="iso-8859-1" Sender: owner-freebsd-stable@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG | Therefore, if you call a blocking system call, *ALL* threads | block, thus causing your entire application to 'hang'. That's why there are wrappers for the socket calls in libc_r, so a socket as seen by the kernel is always nonblocking (and thus won't hang the entire application), but a socket seen by the application can be blocking or nonblocking, whichever makes most sense for the application. Unfortunately, the wrappers only do half the job. Brian To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-stable" in the body of the message