summaryrefslogtreecommitdiff
path: root/src/libsystemd-network/test-dhcp-client.c
diff options
context:
space:
mode:
authorPatrik Flykt <patrik.flykt@linux.intel.com>2014-04-09 13:12:07 +0300
committerPatrik Flykt <patrik.flykt@linux.intel.com>2014-04-11 10:53:10 +0300
commite5b04c8de83aa17e324bae95f18a822931fb8078 (patch)
treeeee925e6853fb7befcab251bf640e8dfe4a9e360 /src/libsystemd-network/test-dhcp-client.c
parent48a4612e6b67ae81b93ee8e8a4b3f8efa5324270 (diff)
sd-dhcp-client: Add reference counting for DHCP
The DHCP library user can decide to free the DHCP client any time the callback is called. After the callback has been called, other computations may still be needed - the best example being a full restart of the DHCP procedure in case of lease expiry. Fix this by introducing proper reference counting. Properly handle a returned NULL from the notify and stop functions if the DHCP client was freed.
Diffstat (limited to 'src/libsystemd-network/test-dhcp-client.c')
-rw-r--r--src/libsystemd-network/test-dhcp-client.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/libsystemd-network/test-dhcp-client.c b/src/libsystemd-network/test-dhcp-client.c
index 71b06b17a9..9c316d75bc 100644
--- a/src/libsystemd-network/test-dhcp-client.c
+++ b/src/libsystemd-network/test-dhcp-client.c
@@ -251,7 +251,7 @@ static void test_discover_message(sd_event *e)
sd_event_run(e, (uint64_t) -1);
sd_dhcp_client_stop(client);
- sd_dhcp_client_free(client);
+ sd_dhcp_client_unref(client);
test_fd[1] = safe_close(test_fd[1]);
@@ -476,7 +476,7 @@ static void test_addr_acq(sd_event *e) {
sd_dhcp_client_set_callback(client, NULL, NULL);
sd_dhcp_client_stop(client);
- sd_dhcp_client_free(client);
+ sd_dhcp_client_unref(client);
test_fd[1] = safe_close(test_fd[1]);