Does KDE do offline software updates?

Ian Malone ibmalone at gmail.com
Thu Mar 26 08:21:55 UTC 2015


On 26 March 2015 at 01:25, Marko Vojinovic <vvmarko at gmail.com> wrote:
> On Thu, 26 Mar 2015 01:01:36 +0000
> Patrick O'Callaghan <pocallaghan at gmail.com> 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


More information about the users mailing list