Return-Path: Delivered-To: new-httpd-archive@hyperreal.org Received: (qmail 19344 invoked by uid 6000); 16 Apr 1998 10:20:19 -0000 Received: (qmail 19336 invoked from network); 16 Apr 1998 10:20:18 -0000 Received: from twinlark.arctic.org (204.62.130.91) by taz.hyperreal.org with SMTP; 16 Apr 1998 10:20:18 -0000 Received: (qmail 24094 invoked by uid 500); 16 Apr 1998 10:22:46 -0000 Date: Thu, 16 Apr 1998 03:22:46 -0700 (PDT) From: Dean Gaudet To: new-httpd@apache.org Subject: Re: SERVER_VERSION In-Reply-To: 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 On Wed, 15 Apr 1998, Marc Slemko wrote: > On Wed, 15 Apr 1998, Dean Gaudet wrote: > > > Unfortunately though you can't just use these preconstructed headers as > > part of a writev(), each reader has to copy them. This is because the > > writev() has an unbounded time limit, and you don't want to have an > > unbounded cycle of buffers. > > Hmm. If pointer assignment was atomic you could writev it. This is an > atypical situation because here all you need is atomic updates; you don't > care if the time changes between when you do the writev() and when it is > sent. Well, you could care in some situations I guess but I don't know > that you can guarantee that if you need it in the current code. But just > copying it is probably cheaper than trying to avoid it. Pointer assignment is atomic (on any architecture worth caring about). Modification of the time string isn't atomic. So you can't have it in flight anywhere. Dean