This is the mail archive of the mailing list for the Cygwin project.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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 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...


Christian Koessel

Gmuender ErsatzKasse GEK
Abteilung Information und Kommunikation
Gottlieb-Daimler-Str. 19
D-73529 Schwaebisch Gmuend


Unsubscribe info:
Bug reporting:

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]