From: Yu Watanabe Date: Fri, 4 Sep 2020 00:01:03 +0000 (+0900) Subject: sd-ipv4acd: do not call callback in sd_ipv4acd_stop() when it is already stopped X-Git-Tag: v247-rc1~297^2~5 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=6a776e3a18ba654de484c9f5480712a4b13c38f1;p=thirdparty%2Fsystemd.git sd-ipv4acd: do not call callback in sd_ipv4acd_stop() when it is already stopped --- diff --git a/src/libsystemd-network/sd-ipv4acd.c b/src/libsystemd-network/sd-ipv4acd.c index d957202a689..0371641cdbf 100644 --- a/src/libsystemd-network/sd-ipv4acd.c +++ b/src/libsystemd-network/sd-ipv4acd.c @@ -142,10 +142,17 @@ static void ipv4acd_client_notify(sd_ipv4acd *acd, int event) { } int sd_ipv4acd_stop(sd_ipv4acd *acd) { + IPv4ACDState old_state; + assert_return(acd, -EINVAL); + old_state = acd->state; + ipv4acd_reset(acd); + if (old_state == IPV4ACD_STATE_INIT) + return 0; + log_ipv4acd(acd, "STOPPED"); ipv4acd_client_notify(acd, SD_IPV4ACD_EVENT_STOP);