From owner-freebsd-questions Tue Mar 12 09:44:11 1996 Return-Path: owner-questions Received: (from root@localhost) by freefall.freebsd.org (8.7.3/8.7.3) id JAA00890 for questions-outgoing; Tue, 12 Mar 1996 09:44:11 -0800 (PST) Received: from alpha.xerox.com (alpha.Xerox.COM [13.1.64.93]) by freefall.freebsd.org (8.7.3/8.7.3) with SMTP id JAA00884 for ; Tue, 12 Mar 1996 09:44:09 -0800 (PST) Received: from gemini.sdsp.mc.xerox.com ([13.231.132.20]) by alpha.xerox.com with SMTP id <15041(15)>; Tue, 12 Mar 1996 09:43:29 PST Received: from gnu.mc.xerox.com (gnu.sdsp.mc.xerox.com) by gemini.sdsp.mc.xerox.com (4.1/SMI-4.1) id AA02593; Tue, 12 Mar 96 12:43:30 EST Received: by gnu.mc.xerox.com (4.1/SMI-4.1) id AA08403; Tue, 12 Mar 96 12:43:29 EST Message-Id: <9603121743.AA08403@gnu.mc.xerox.com> To: Luigi Rizzo Cc: msmith@atrad.adelaide.edu.au, questions@freebsd.org Subject: Re: non-blocking read ? In-Reply-To: Your message of "Tue, 12 Mar 1996 09:33:14 PST." <199603121733.SAA20865@labinfo.iet.unipi.it> Date: Tue, 12 Mar 1996 09:43:28 PST From: "Marty Leisner" Sender: owner-questions@freebsd.org X-Loop: FreeBSD.org Precedence: bulk > >That's my problem... some programs (noticeably the "harvest" cache) >work as a single-threaded process which serves concurrent >requests by trying to avoid blocking calls. It appears to do a nice >job, but for some things (say reads/seeks etc. from disk) it appears >that there is no way to avoid delays -- at least to my knowledge. > > Thanks > Luigi >==================================================================== >Luigi Rizzo Dip. di Ingegneria dell'Informazione >email: luigi@iet.unipi.it Universita' di Pisa >tel: +39-50-568533 via Diotisalvi 2, 56126 PISA (Italy) >fax: +39-50-568522 http://www.iet.unipi.it/~luigi/ >==================================================================== How long a "delay" are you having? You may want to look at the mit pthreads package... If you start forking I don't see how you can save time... Maybe an architecture with another process which is a filing daemon, connecting to the other process with pipes (where each pipe maps to a file). Select works fine on pipes... marty