On 26 March 2015 at 01:25, Marko Vojinovic <vvmarko@xxxxxxxxx> wrote: > On Thu, 26 Mar 2015 01:01:36 +0000 > Patrick O'Callaghan <pocallaghan@xxxxxxxxx> wrote: >> On Wed, 2015-03-25 at 16:42 -0700, Rick Stevens wrote: >> > If you update libraries a running program uses, it won't get the new >> > libraries until it is restarted since it's already got a copy. In >> > fact, I think any program that starts and wants that updated library >> > will get the old version as it's already in memory. >> >> Are you sure of that? I always assumed that shared libraries are just >> files and once a file is replaced the normal rules apply, i.e. >> anything that opened it before the replacement gets the old version, >> anything that opens it afterwards gets the new one. That's how >> inconsistencies can arise. > > I'd second that question. I can easily imagine a running program which > loads a library on *demand*, not on its start-up. So a program may > start regularly, work for a while, and then try to load some library --- > only to find out that the library was updated to an incompatible version > in the meantime. > > Yum will of course make sure that there is a new version of the program > itself which is compatible with the new library, but that is not > necessarily the version of the program currently running in memory. > > At least, that's how I tend to explain firefox-updating glitches to > myself. :-) It may be that firefox is one of a few applications that work this way. My understanding, which could be wrong, is that linked dynamic libraries (those that get found by the compiler and linked while building, because they are used by a program in a normal 'call this function' way and without which available it will not build) get found and loaded at start time. There are system calls to allow you to read in functions from libraries at run time, these are less commonly used as it's harder work and only needed for things like providing module support. Applications doing that are still likely to search for and load their modules at start-up, but could still try to load more functions later. Not sure what firefox is having to do to keep tabs separate from each other, may be loading separate instances of libraries for that. -- imalone http://ibmalone.blogspot.co.uk -- users mailing list users@xxxxxxxxxxxxxxxxxxxxxxx To unsubscribe or change subscription options: https://admin.fedoraproject.org/mailman/listinfo/users Fedora Code of Conduct: http://fedoraproject.org/code-of-conduct Guidelines: http://fedoraproject.org/wiki/Mailing_list_guidelines Have a question? Ask away: http://ask.fedoraproject.org