This is the mail archive of the
mailing list for the Cygwin project.
Re: init_cygheap::etc_changed: Can't open /etc for checking,Win32 error
- From: "Christian Koessel" <Christian dot Koessel at Gek dot de>
- To: <cygwin at cygwin dot com>
- Date: Tue, 17 Sep 2002 10:22:07 +0200
- Subject: Re: init_cygheap::etc_changed: Can't open /etc for checking,Win32 error
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
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
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...
Gmuender ErsatzKasse GEK
Abteilung Information und Kommunikation
D-73529 Schwaebisch Gmuend
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple
Bug reporting: http://cygwin.com/bugs.html