[CentOS] Maria 10 breaks unixodbc mysql connector

Tue Oct 31 19:57:32 UTC 2017
Gordon Messmer <gordon.messmer at gmail.com>

On 10/31/2017 12:23 PM, John Harragin wrote:
> However my asterisk server is still running and it still has that file
> open. I don't know if this keeps new processes referencing the .so file
> that is open in ram.

No.  New processes will use the .so that they find in their library 
path, in the filesystem.

> I'm not sure how the package manager addresses such
> issues.

It doesn't.

> Does it run ldconfig as part of the installation and defer
> resolving issues till the involved files are closed?


Packages may specifically run "ldconfig" in their post install script 
(rpm -q --scripts), but rpm won't otherwise.

If you remove a package that provides an .so file, the files are deleted 
from the filesystem by rpm.  If those files are open by an active 
process, the inode and data blocks will not be freed by the kernel at 
that time, because there is still an in-memory reference to those.  When 
those processes exit, the reference count is decreased.  When the 
reference count reaches zero, and nothing refers to that inode any 
longer, the kernel will clear the inode and free the data blocks it is 
using.