delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2002/02/24/19:50:16

Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm
List-Subscribe: <mailto:cygwin-subscribe AT cygwin DOT com>
List-Archive: <http://sources.redhat.com/ml/cygwin/>
List-Post: <mailto:cygwin AT cygwin DOT com>
List-Help: <mailto:cygwin-help AT cygwin DOT com>, <http://sources.redhat.com/ml/#faqs>
Sender: cygwin-owner AT cygwin DOT com
Delivered-To: mailing list cygwin AT cygwin DOT com
X-Originating-IP: [65.25.162.199]
From: "John William" <jw2357 AT hotmail DOT com>
To: cygwin AT cygwin DOT com
Subject: Readdir() bug?
Date: Mon, 25 Feb 2002 00:49:39
Mime-Version: 1.0
Message-ID: <F86dRo5dNtWZvXVPDHX000183c8@hotmail.com>
X-OriginalArrivalTime: 25 Feb 2002 00:49:40.0219 (UTC) FILETIME=[4E7614B0:01C1BD96]

I have a program that behaves differently on Linux and Cygwin. I'm using 
version 1.3.9 of the DLL.

The program tries to list all files in a directory by doing opendir(), then 
readdir() until all the entries have been read and then closedir(). That 
works fine, but the time between the opendir() and the closedir() can be 
considerable.

On Linux, if any files are added to the directory after the opendir(), they 
will not be enumerated by readdir(). On Cygwin, they are (they can appear in 
the middle of the file list or at the end - presumably wherever the new file 
happened to end up in the directory's file order).

I am assuming that the Linux behavour is correct. Cygwin causes the program 
in question to break because it can modify files and copy them back into the 
original directory (with a copy followed by a rename to replace the original 
file) so readdir() never hits the end of the file list because it keeps 
seeing the newly added files.

Any help or comments would be appreciated. Thanks.

- John


_________________________________________________________________
Join the world’s largest e-mail service with MSN Hotmail. 
http://www.hotmail.com


--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Bug reporting:         http://cygwin.com/bugs.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