I've attached a variation of the previous patch (still against the 2.0 beta
2 tarball) which handles the reinit slightly differently from the original.

This one will start listening on any newly discovered (or configured)
interfaces, without closing or stopping any previously opened incoming
sockets.

The advantage over the previous patch is that it will cause less disruption
to ongoing communications, particularly if only a secondary interface is
changing.  The disadvantage is that if the service is left running for a
long time on a network that keeps assigning it different addresses
(presumably via a DHCP server with a bad memory) then it will gradually eat
up more and more resources, and probably eventually fail.  (I'm not sure
which tradeoff is better overall.)

A suggested improvement (which again I'm not quite familiar enough with the
code to do at this point) would be to track which sockets are associated
with a particular interface and close them if their interface is not still
present during the reinit.

Note that for code simplicity it's currently assuming that if the TCP listen
socket exists then all the other related sockets are still ok too.

Attachment: openslp-hup2.patch
Description: Binary data

------------------------------------------------------------------------------
Everyone hates slow websites. So do we.
Make your web apps faster with AppDynamics
Download AppDynamics Lite for free today:
http://p.sf.net/sfu/appdyn_sfd2d_oct
_______________________________________________
Openslp-devel mailing list
Openslp-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/openslp-devel

Reply via email to