I'm happy to see that in recent revisions some progress has been made
towards the automatic (re-)initialization of the available network
interfaces.
When I started using OpenSLP the lack of this feature caused me quite
some troubles. As a workaround I periodically scan the available network
interfaces in my own application, and then restart slpd when something
changes. However meanwhile on some computers there is a second
application using SLP so I can't use this workaround anymore.
So I experimented a little bit with the latest revision of OpenSLP. Here
is what I noticed:
1) Under Windows the re-initialization is initiated automatically, but
under Linux I need to send SIGHUP to slpd. It would be really nice if
also under Linux this happened automatically. However I'm afraid my
Linux networking skills and my knowledge of the OpenSLP codebase are
probably not sufficient to implement this by myself and provide a patch.
2) I noticed (under Linux) that slpd terminates itself when no more
network connections are available and it gets a SIGHUP. This means it
cannot recover when network is available again. For me as a user of the
library it would be best if slpd was running all the time and if it
accepted service registrations even if no network is available (and then
publishes these services on all interfaces, as soon as they become
available).
|