Return-Path: Delivered-To: new-httpd-archive@hyperreal.org Received: (qmail 19805 invoked by uid 6000); 2 Oct 1998 20:55:30 -0000 Received: (qmail 19744 invoked from network); 2 Oct 1998 20:55:28 -0000 Received: from twinlark.arctic.org (204.62.130.91) by taz.hyperreal.org with SMTP; 2 Oct 1998 20:55:28 -0000 Received: (qmail 29426 invoked by uid 500); 2 Oct 1998 20:54:49 -0000 Date: Fri, 2 Oct 1998 13:54:49 -0700 (PDT) From: Dean Gaudet To: new-httpd@apache.org Subject: Re: Removing ap_dummy_mutex from API In-Reply-To: <13845.11577.954876.678185@zap.ml.org> Message-ID: X-Comment: Visit http://www.arctic.org/~dgaudet/legal for information regarding copyright and disclaimer. MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: new-httpd-owner@apache.org Precedence: bulk Reply-To: new-httpd@apache.org Status: O On Fri, 2 Oct 1998, Ben Hyde wrote: > How's it do a timeout without an interupt? The only timeouts we've ever used are on socket i/o... and NSPR implements that directly with a timeout on PR_Send() and PR_Recv(). So I put a timeout into BUFF... and a callback for when the timeout is triggered. Search for ap_bonerror() to see how it's used. > Recalling that I couldn't find a way to interupt a thread on NT that's > I'll accept that no interupts is the future. I like interupts and > don't quite know how you write code that avoids them without polling > (aka non-preemptive multitasking). pre-emption is fine with me. What I don't like are interrupted and restarted system calls. Apache 1.3 has various race conditions due to signals that I don't think are solveable. For example, if you take a signal inside a 3rd party library... you're toast. You can't expect it to continue properly (some do, some don't), and you can't longjmp out of it because it could leak resources. The only way around it is to not take the signal. Dean