Mailing-List: contact cygwin-help AT sourceware DOT cygnus DOT com; run by ezmlm List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner AT sourceware DOT cygnus DOT com Delivered-To: mailing list cygwin AT sourceware DOT cygnus DOT com Message-ID: <1DB8BA4BAC88D3118B2300508B5A552C0C8CDC@mail.fitlinxx.com> From: David Bolen To: "'cygwin AT sourceware DOT cygnus DOT com'" Subject: RE: How is textmode/binmode determined in Cygwin 1.1.0 net releas e for pipes? Date: Fri, 28 Apr 2000 00:40:08 -0400 MIME-Version: 1.0 X-Mailer: Internet Mail Service (5.5.2650.21) Content-Type: text/plain; charset="iso-8859-1" Note-from-DJ: This may be spam Hmm, that does seem to run locally properly (although of course you've got to take out the setmode to actually test "default" behavior) - perplexing since I know that adding CYGWIN=binmode resolved the behavior that I previously saw. I'll have to look more closely at the remote system (since that's where the writing was going on) to see if I can figure out what was up when the pipe was used within the larger application. In terms of your observation, I should point out that the best way to handle things is to find a reference (someone or something) that already has the answer, and thus minimize the amount of work you have to do - laziness being one of a developer's hallmarks. However, that doesn't mean just replacing your effort with someone else's, so I appreciate your taking the time to check this out. Thanks. -- David -----Original Message----- From: Chris Faylor [mailto:cgf AT cygnus DOT com] Sent: Friday, April 28, 2000 12:16 AM To: 'cygwin AT sourceware DOT cygnus DOT com' Subject: Re: How is textmode/binmode determined in Cygwin 1.1.0 net releas e for pipes? On Thu, Apr 27, 2000 at 11:51:50PM -0400, David Bolen wrote: >I suppose my question can be rephrased as whether or not 1.1.0 changed >the default behavior for pipes from b20.1 (without any CYGWIN >environment setting)? It was my understanding that the default should >be binary, and that's how my previous b20.1 seemed to be working. But >1.1.0 seems to instead be defaulting to text. This would be for pipes >opened via the pipe() call, thus without any particular O_* flags. The test below indicates that pipes are being opened in binmode by default. And, here's another observation. The best way to answer a question like "How does xxx work" is to write a test case which exercises 'xxx'. This is even better than reading the source for 'xxx'. cgf #include #include #include #include #include #include main(int argc, char **argv) { int pipes[2]; char buf[80]; pipe(pipes); setmode(pipes[1], O_BINARY); write(pipes[1], "hello\r\n", 7); printf ("%d = read(%d...)\n", read(pipes[0], buf, 80), pipes[0]); } -- Want to unsubscribe from this list? Send a message to cygwin-unsubscribe AT sourceware DOT cygnus DOT com -- Want to unsubscribe from this list? Send a message to cygwin-unsubscribe AT sourceware DOT cygnus DOT com