svn commit: r224303 - user/hrs/ipv6/usr.sbin/rtadvd
Hiroki Sato
hrs at FreeBSD.org
Mon Jul 25 06:31:04 UTC 2011
Author: hrs
Date: Mon Jul 25 06:31:04 2011
New Revision: 224303
URL: http://svn.freebsd.org/changeset/base/224303
Log:
Fix an abnormal termination caused by twice of "rtadvctl disable".
Modified:
user/hrs/ipv6/usr.sbin/rtadvd/control_server.c
Modified: user/hrs/ipv6/usr.sbin/rtadvd/control_server.c
==============================================================================
--- user/hrs/ipv6/usr.sbin/rtadvd/control_server.c Mon Jul 25 01:42:51 2011 (r224302)
+++ user/hrs/ipv6/usr.sbin/rtadvd/control_server.c Mon Jul 25 06:31:04 2011 (r224303)
@@ -51,6 +51,7 @@
#include "pathnames.h"
#include "rtadvd.h"
#include "if.h"
+#include "config.h"
#include "control.h"
#include "control_server.h"
#include "timer.h"
@@ -611,7 +612,16 @@ cmsg_setprop_disable(struct ctrl_msg_pl
return (1);
}
- ifi->ifi_persist = 0;
+ if (ifi->ifi_persist == 1) {
+ ifi->ifi_persist = 0;
+ rm_ifinfo(ifi);
+
+ /* MC leaving needed here */
+ sock_mc_leave(&sock, ifi->ifi_ifindex);
+
+ set_do_reload_ifname(ifi->ifi_ifname);
+ set_do_reload(0);
+ }
return (0);
}
More information about the svn-src-user
mailing list