This is the mail archive of the cygwin 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: Updated cygwin dlls cause unnecessary reboot on NT


Linda Walsh wrote:
>    The fix I proposed has nothing to do with the cygwin1.dll.  As has
> been covered previously, since cygwin1.dll and a few other libs are
> part of the cygwin "kernel", special handling may be needed to upgrade
> those dll's.  What can be fixed is the installation of .exe and .dll
> files for
> applications.  The behavior of those should be the same as replacing
> in-use .so's and executables on *nix.

I believe there is a critical element you have missed.

In order to perform the rather miraculous emulation of fork(), Cygwin
needs to reload all the same DLLs that are operating in one process into
another newly created process. Updating the DLL files on disk whilst
processes are using them prevents this from happening.

For a simple demonstration of this:

* Start a bash shell
* Rename any of the DLLs used by bash to something else
* Try to execute any non-builtin command
* See the fork failure message


Could this be worked around? Perhaps.
Is it likely to happen? No, the benefit-to-work ratio is too low.

Max.

Attachment: signature.asc
Description: OpenPGP digital signature


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