chicken-users
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Chicken-users] Chicken crashes when updating eggs


From: John Cowan
Subject: Re: [Chicken-users] Chicken crashes when updating eggs
Date: Wed, 7 Jun 2006 15:14:33 -0400
User-agent: Mutt/1.3.28i

Thomas Chust scripsit:

> POSIX compliant systems allow the deletion of files while they are open 
> without causing trouble for the process that opened them. Win32 systems 
> don't regularly allow it -- and in the cases where they do, it has 
> different effects.

Cygwin has still a third behavior.  When you remove an open file,
the file becomes invisible to readdir, and any attempt to open it from
either a Cygwin or a pure Win32 process produces an EPERM ("Permission
denied") error.  The file can still be seen in directory listings from
the Win32 side, however.  When the file is finally closed, it will be
actually deleted.  (This applies only to NTFS file systems; I don't know
what happens on FAT file systems.)

As a consequence, removing an in-use library will apparently succeed, but
trying to create a new one with the same name will fail with EPERM.
Therefore, chicken-setup should check for errors in either removing the
old file or creating its replacement, and assume it has failed if either
operation fails.

> Maybe if you try to recompile the eggs you want to update, then
> delete the old versions of their .so-files and only then install the
> new .so-files, your processes will keep running without segmentation
> faults, if you are using a POSIX system.

Under Cygwin, the running processes will not crash.  However, newly
started processes will either load the old libraries, if any processes
are still using them, or will fail at startup time for lack of any
libraries at all.

-- 
By Elbereth and Luthien the Fair, you shall     address@hidden
have neither the Ring nor me!  --Frodo          http://www.ccil.org/~cowan




reply via email to

[Prev in Thread] Current Thread [Next in Thread]