Date: Wed, 18 Aug 2010 08:05:27 +1000 From: Danny Carroll <fbsd@dannysplace.net> To: freebsd-questions@freebsd.org Subject: Re: Upgrading ports while processes are running. Message-ID: <4C6B07A7.9000008@dannysplace.net> In-Reply-To: <84y6c6rnpp.fsf@shroyer.name> References: <4C69D13F.9080404@dannysplace.net> <20100817032327.0349772b.freebsd@edvax.de> <84y6c6rnpp.fsf@shroyer.name>
next in thread | previous in thread | raw e-mail | index | archive | help
On 17/08/2010 12:13 PM, Mark Shroyer wrote: > On Tue, 17 Aug 2010 03:23:27 +0200, Polytropon <freebsd@edvax.de> wrote: >> At least, the step that wants to write will fail, and this will >> mostly be (finally) signaled by a make error. <snip!> > That isn't to say you won't see any negative consequences from > overwriting a running port with a newer version. Hypothetically, you > might install a new Python including a new standard library, and if your > running (old) Python process tries to load one of its deleted modules > from disk something could break. Or not; I'm no expert on the ports > system, they might have some way of working around this. But as for a > pragmatic answer to your question, I err on the side of caution with > this stuff :) > Thanks for the info... I guess I can take this to read: The way install works, the binary files can be updated even though they are in use. Restart of the port (or it's deps in the case of libs) is required. If nothing is restarted, then the old process code happily resides in memory until it's no longer referenced. This can cause a problem with a dynamically loaded lib that is not the same version as expected. I wonder what happens when you upgrade a port, don't restart, then the following week upgrade it again.... hmmm. In any case I like the "restart the whole server" option after a major upgrade because if it works then I can essentially rule out the upgrade if I have to troubleshoot a problem at a later date. -D
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4C6B07A7.9000008>