The following issue has been RESOLVED. ====================================================================== http://www.dbmail.org/mantis/view.php?id=449 ====================================================================== Reported By: aaron Assigned To: aaron ====================================================================== Project: DBMail Issue ID: 449 Category: General Reproducibility: always Severity: major Priority: normal Status: resolved target: Resolution: fixed Fixed in Version: 2.2 branch ====================================================================== Date Submitted: 17-Nov-06 09:25 CET Last Modified: 17-Nov-06 09:26 CET ====================================================================== Summary: Problem with fnctl O_NONBLOCK dance Description:
What we need to to is *force* the blocking state back on, after the accept. What happens in 2.2.0 is somewhat similar to what is described above: a child has done a O_NONBLOCK when another does F_GETFL. This way, the client socket ends up being non-blocking - which is not what the calls to fgets expect. So: either we make real sure the client socket is blocking, or we teach all daemons to read from the clients in a non-blocking fashion. The latter is what we want eventually (when we want to go async), but until than, the first solution is simple and limited in scope. ====================================================================== ---------------------------------------------------------------------- aaron - 17-Nov-06 09:26 ---------------------------------------------------------------------- On Thu, 2006-11-16 at 23:31 +0000, Aaron Stone wrote: > > What happens in 2.2.0 is somewhat similar to what is described above: a > > child has done a O_NONBLOCK when another does F_GETFL. This way, the > > client socket ends up being non-blocking - which is not what the calls > > to fgets expect. Possible fix committed to SVN. Let's see if this resolves the issue. Hopefully as simple as re-setting the flags with flags & ~ O_NONBLOCK to be sure that there isn't a nonblocking bit. Issue History Date Modified Username Field Change ====================================================================== 17-Nov-06 09:25 aaron New Issue 17-Nov-06 09:25 aaron Status new => assigned 17-Nov-06 09:25 aaron Assigned To => aaron 17-Nov-06 09:26 aaron Status assigned => resolved 17-Nov-06 09:26 aaron Fixed in Version => 2.2 branch 17-Nov-06 09:26 aaron Resolution open => fixed 17-Nov-06 09:26 aaron Note Added: 0001603 ======================================================================
