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: Replacing setup.exe and cygcheck with dpkg (Was: Re: cygcheck typo in both manpage and --help)


On Mon, Mar 09, 2009 at 11:21:52AM +0100, Corinna Vinschen wrote:
>On Mar  9 09:55, Andy Koppe wrote:
>> Spiro Trikaliotis:
>> > You can replace a running exe (or dll) by doing the following:
>> >
>> > 1. rename the .DLL or .EXE
>> 
>> Are you sure that's possible? I'd expect Windows to complain loudly at
>> that point.
>
>You can in theory, but that won't work reliably for subsequent Cygwin
>processes.  If you replace a running processes' executable with a new
>release, and if that process is one of the forking kind, every
>subsequent call to fork() will break.  If you replace the Cygwin DLL
>with a new release on the fly, then *any* subsequent fork() will almost
>surely break.

Right.  And that has been the main reason why writing an installer which
uses Cygwin is problematic.

I've been using the "rename the dll or executable" technique for about ten
years to install a newly-compiled version of cygwin1.dll on a system with
a running version of cygwin.  However, this hoses any running processes
and it even makes running any cygwin processes flaky until all processes
which use the old DLL have been shut down.

cgf

--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Problem reports:       http://cygwin.com/problems.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/


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