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 Mail-Followup-To: cygwin AT cygwin DOT com Delivered-To: mailing list cygwin AT cygwin DOT com Message-Id: Date: Tue, 17 Sep 2002 10:22:07 +0200 From: "Christian Koessel" To: Subject: Re: init_cygheap::etc_changed: Can't open /etc for checking, Win32 error Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Content-Disposition: inline In the meantime I took a look at the cygwin sources and I found the reason for the error: On Sep 09 2001 the etc_changed()-function was added to cygheap.cc. Its purpose is to detect a change to the group or passwd files while cygwin is running and it seems to be called every time when rights have to be checked. This is achieved by using the Win32 FindFirstChangeNotification() method which monitors a directory (here /etc) for changes. The function is called with the FILE_NOTIFY_CHANGE_LAST_WRITE option. The problem is that this function does not work on drives with a non NTFS file system and returns INVALID_HANDLE. This leads to the error message 'init_cygheap::etc_changed: Can't open /etc for checking, Win32 error 2'. After this the function returns 0, which means that there was no change to /etc. So the only thing that goes wrong is that you always get that error message and that changes to /etc are not detected while cygwin is running. A possibility to fix the problem could be to use GetVolumeInformation() to retrieve information about the file system when /etc is mounted and to maintain a flag which tells if directory change notifications are supported or not. I will try to build my own personal patch of the cygwin1.dll which the error message just commented out... Regards, Christian Koessel Gmuender ErsatzKasse GEK Abteilung Information und Kommunikation Gottlieb-Daimler-Str. 19 D-73529 Schwaebisch Gmuend E-Mail: christian DOT koessel AT gek DOT de Internet: http://www.gek.de -- 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/