On Tue, 08 Dec 2015 08:56:49 +0200, contact@ionelmc.ro wrote:
On Mon, Nov 16, 2015 at 6:25 PM, Marius Gedminas
wrote: What you can do Linux that you cannot do on Windows is delete a shared library file while it's mapped into a process's address space. Then Linux lets you create a new file with the same name, while the old file stays around, nameless, until it's no longer used, at which point the disk space gets garbage-collected. (If we can call reference counting "garbage collection".)
The result is as you said: existing processes keep running the old code until you restart them. There are tools (based on lsof, AFAIU) that check for this situation and remind you to restart daemons.
Not sure what exactly was going on but whenever I did that on linux I got the most peculiar segfaults and failures. It is certainly not a safe thing to do, even if linux lets you do it.
I'm not sure what you did, because to my understanding it certainly should be safe on linux, at least on posix compliant file systems. --David