POV-Ray : Newsgroups : povray.off-topic : Somewhat disappointing : Re: Somewhat disappointing Server Time
4 Sep 2024 19:20:28 EDT (-0400)
  Re: Somewhat disappointing  
From: Nicolas Alvarez
Date: 30 Jan 2010 22:07:26
Message: <4b64f3ee@news.povray.org>
Darren New wrote:
> There's no good way under Linux (without walking thru /proc and trying to
> parse it, and hoping it doesn't change while you do so) of telling what
> DLLs a given program is using that isn't in a package. There's also no
> good way of telling what programs are running right now.

fuser and lsof can tell you what programs currently have a certain file 
open. Probably it's race-condition-prone. Probably theu work by walking 
through /proc and parsing it.

> There's also no good way
> of figuring out if a currently-running program is compatible with the new
> DLL you just downloaded, even if that running program hasn't loaded that
> DLL.

If a shared library is ABI-incompatible, it will have a different soname, 
which means it will have a different *filename* too. Programs linked to the 
old version of the library won't be *able* to load the new version, and 
viceversa.

> (For example, you have your media player running, and you update the media
> player executable and all the codecs. But now you go back to the running
> media player and play a different file, which loads the new codec DLL that
> is now incompatible with the running executable.)

For dynamically-loadable libraries like that, it may need a custom solution, 
such as a function (with stable ABI by itself!) that can be called to ask 
the codec's ABI version, so the media player can tell if it's compatible.

Or don't break the compatibility to begin with ;)


Post a reply to this message

Copyright 2003-2023 Persistence of Vision Raytracer Pty. Ltd.