Mailing-List: contact cygwin-developers-help AT sourceware DOT cygnus DOT com; run by ezmlm List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-developers-owner AT sources DOT redhat DOT com Delivered-To: mailing list cygwin-developers AT sources DOT redhat DOT com Message-ID: <001f01c0b690$d8555230$0200a8c0@lifelesswks> From: "Robert Collins" To: Subject: fifo's Date: Tue, 27 Mar 2001 17:37:56 +1000 MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit X-Priority: 3 X-MSMail-Priority: Normal X-Mailer: Microsoft Outlook Express 5.50.4133.2400 X-MimeOLE: Produced By Microsoft MimeOLE V5.50.4133.2400 X-OriginalArrivalTime: 27 Mar 2001 07:32:43.0794 (UTC) FILETIME=[1C9C8720:01C0B690] well my test cases show some interesting behaviour... 1 writer, 2 readers - the readers get the written blocks in a round robin style. (ie if the writer writes "1\n" "2\n" "3\n" the 1st reader will get "1\n" "3\n" and the 2nd reader "2\n" 2 writers, 1 reader - seems to be atomic writes (no mixed data), but if the writes are interleaved, the reads get the interleaved data. So writers have to buffer their output to atomic chunks. 2 writers, 2 readers - seems to be the round robin outputs, atomic writes, interleaved data as appropriate (union of the first two tests). As far as interoperability with non-cygwin apps goes... my comment is "If they wouldn't understand native Named Pipes for redirecting stdout, then this is no different." I will attempt structure this code so it can be pulled out to a separate dll for linking with mingw applications, or to be built into an IFS driver down the track. (So the native apps could be redirected to //./...../namedpathalias/ when called from a cygwin app.) Rob