delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2002/09/17/04:25: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
Mail-Followup-To: cygwin AT cygwin DOT com
Delivered-To: mailing list cygwin AT cygwin DOT com
Message-Id: <sd870263.026@gekhvks3>
Date: Tue, 17 Sep 2002 10:22:07 +0200
From: "Christian Koessel" <Christian DOT Koessel AT Gek DOT de>
To: <cygwin AT cygwin DOT com>
Subject: Re: init_cygheap::etc_changed: Can't open /etc for checking,
Win32 error
Mime-Version: 1.0

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/

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019