Qmail
[Top] [All Lists]

Re: Is saferead not really safe on Solaris 8?

To: qmail@list.cr.yp.to
Subject: Re: Is saferead not really safe on Solaris 8?
From: Henning Brauer <lists-qmail@bsws.de>
Date: Sat, 25 Nov 2006 21:22:35 +0100
Delivered-to: sp-com-lists@consult.net
Delivered-to: gmail-qmail@securepoint.com
Delivered-to: sp.com.list@gmail.com
Delivered-to: mailing list qmail@list.cr.yp.to
In-reply-to: <20061124.191156.02469879.hanche@math.ntnu.no>
Mail-followup-to: qmail@list.cr.yp.to
Mailing-list: contact qmail-help@list.cr.yp.to; run by ezmlm
References: <20061124.191156.02469879.hanche@math.ntnu.no>
User-agent: Mutt/1.5.12-2006-07-14
* Harald Hanche-Olsen <hanche@math.ntnu.no> [2006-11-24 19:14]:
> Now this should not be possible, because qmail-smtpd uses saferead() on
> all network reads, and saferead first calls select() and then read()
> only if select() indicates that there is data to be read.  Surely, if
> select() said there is data, then read() cannot hang?

AFAIR there is no guarantee that read() cannot block after select() 
anounced readability. The only way to make sure read() won't block is 
using nonblocking sockets.

however, I have no case at hand where select/poll would indicate 
readability and a read() thereafter would block.

-- 
Henning Brauer, hb@bsws.de, henning@openbsd.org
BS Web Services, http://bsws.de
Full-Service ISP - Secure Hosting, Mail and DNS Services
Dedicated Servers, Rootservers, Application Hosting - Hamburg & Amsterdam

<Prev in Thread] Current Thread [Next in Thread>