delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2005/04/27/19:40:29

Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm
List-Subscribe: <mailto:cygwin-subscribe AT cygwin DOT com>
List-Archive: <http://sourceware.org/ml/cygwin/>
List-Post: <mailto:cygwin AT cygwin DOT com>
List-Help: <mailto:cygwin-help AT cygwin DOT com>, <http://sourceware.org/ml/#faqs>
Sender: cygwin-owner AT cygwin DOT com
Mail-Followup-To: cygwin AT cygwin DOT com
Delivered-To: mailing list cygwin AT cygwin DOT com
To: cygwin AT cygwin DOT com
Subject: Re: mkstemp bug
Mail-Copies-To: never
Reply-To: sds AT gnu DOT org
X-Attribution: Sam
X-Disclaimer: You should not expect anyone to agree with me.
From: Sam Steingold <sds AT gnu DOT org>
In-Reply-To: <20050427222031.GB24021@trixie.casa.cgf.cx> (Christopher Faylor's message of "Wed, 27 Apr 2005 18:20:31 -0400")
References: <usm1cb0aa DOT fsf AT gnu DOT org> <u8y33c1ta DOT fsf AT gnu DOT org> <20050427222031 DOT GB24021 AT trixie DOT casa DOT cgf DOT cx>
Mail-Followup-To: cygwin AT cygwin DOT com
Date: Wed, 27 Apr 2005 19:39:37 -0400
Message-ID: <u4qdrbxhi.fsf@gnu.org>
User-Agent: Gnus/5.11 (Gnus v5.11) Emacs/22.0.50 (windows-nt)
MIME-Version: 1.0

> * Christopher Faylor <pts-ab-crefbany-ercyl-cyrnfr AT pltjva DOT pbz> [2005-04-27 18:20:31 -0400]:
>
> On Wed, Apr 27, 2005 at 06:06:09PM -0400, Sam Steingold wrote:
>>> * Sam Steingold <fqf AT tah DOT bet> [2005-04-27 13:24:29 -0400]:
>>>
>>> it appears that mkstemp() returns a temp FD pointing to the same file:
>>> mkstemp ("/tmp/clisp-x-io-XXXXXX");
>>> ==> "/tmp/clisp-x-io-000592"
>>> mkstemp ("/tmp/clisp-x-io-XXXXXX");
>>> ==> "/tmp/clisp-x-io-000592"
>>> mkstemp ("/tmp/clisp-x-io-XXXXXX");
>>> ==> "/tmp/clisp-x-io-000592"
>>
>>this is note quite as easy to reproduce.  sorry.
>>
>>the problem is that mkstemp() does not regard FIFOs (as created by
>>mkfifo() or mknod()) as existing files.
>>
>>e.g.
>>
>>  char s1[] = "/tmp/foo-XXXXXX";
>>  char s2[] = "/tmp/foo-XXXXXX";
>>  int fd = mkstemp(s1);
>>  close(fd); remove(s1);
>>  mkfifo(s1,0644);
>>  mkstemp(s2);
>>  strcmp(s1,s2) ===> 0
>
> fifos just barely work under cygwin.  I wouldn't recommend using them.

Yes, it appears that they are heavily broken. Try
mkfifo foo
xterm -e 'tty >> foo; cat foo'
(now foo can be used by other tty application to communicate with the
user via the dedicated xterm - works in linux but not cygwin).

nevertheless, mkstemp() breakage is also a problem here.


thanks for your reply.


-- 
Sam Steingold (http://www.podval.org/~sds) running w2k
<http://pmw.org.il/> <http://www.honestreporting.com> <http://ffii.org/>
<http://www.jihadwatch.org/> <http://www.dhimmi.com/> <http://www.camera.org>
Ernqvat guvf ivbyngrf QZPN.

--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Problem reports:       http://cygwin.com/problems.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019