Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm List-Subscribe: List-Archive: List-Post: List-Help: , 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" To: cygwin AT cygwin DOT com Subject: Readdir() bug? Date: Mon, 25 Feb 2002 00:49:39 Mime-Version: 1.0 Content-Type: text/plain; format=flowed Message-ID: 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/