On Di, 2011-03-15 at 11:19 +0000, Frederik Elwert wrote:
Am Dienstag, den 15.03.2011, 11:26 +0100 schrieb Patrick Ohly:
> Second problem: syncevo-dbus-server might be running while packages are
> updated, which leads to the situation that it uses an old libsynthesis
> in memory.
> I'm not entirely sure how to solve that second problem. I could try
> dynamic loading of libsynthesis, but that only covers the libsynthesis
> dependency and not the update of SyncEvolution itself, nor of any of the
> other shared libraries in use by the process. If anyone has suggestions
> for how user-space restarts are meant to be handled by distros, then
> please let me know.
I’m surely no expert on this matter, but I know that Ubuntu has somewhat
a mechanism for this, since firefox upgrades notify the user to restart
The postinst script for firefox contains this snippet:
if [ -d $UPDATENOTIFIERDIR ] ; then
# pgrep matches application names from /proc/<pid>/status which is
# truncated according to sys/procfs.h definition. Problem is it's
# platform dependent. Either 15 or 16 chars.
if [ `/usr/bin/pgrep -x -c firefox` -ne 0 ] ||
[ `/usr/bin/pgrep -x -c $APPNAME` -ne 0 ] ; then
cp -f $LIBDIR/$APPNAME-restart-required.update-notifier \
rm -f $UPDATENOTIFIERDIR/$APPNAME-restart-required
I don't seem to have that on Debian.
The downside of this is that it requires manual user intervention,
don’t know if there is an easy way for end-users to restart
No, which makes this notification-based method unsuitable for the
The problem is that the package update must interact with one or more
user sessions. Sending a D-Bus message to the syncevo-dbus-server on the
session bus is non-trivial. The system bus could be used, but only for
My current thinking is to solve the problem in syncevo-dbus-server
locally, without support by the package manager:
* at startup, determine a list of all shared libraries loaded into
* set up change notifications for these files
* when triggered *and* idle, restart the daemon
If the package update happens while a sync starts, then there is a risk
that it'll fail, but I expect that time range to be very small.
Best Regards, Patrick Ohly
The content of this message is my personal opinion only and although
I am an employee of Intel, the statements I make here in no way
represent Intel's position on the issue, nor am I authorized to speak
on behalf of Intel on this matter.