summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSander Vrijders <sander.vrijders@intec.ugent.be>2016-06-17 10:51:18 +0200
committerSander Vrijders <sander.vrijders@intec.ugent.be>2016-06-17 10:51:18 +0200
commita2fb329778938f769121855c8a11aa3bfb30b194 (patch)
tree0abf4e18a593de01fc00d38910736da8b418180d
parent1c62c4554cb74e48f676b9d19a49d26eadee72c7 (diff)
parent1d196cfc0d87b6fd41ba15a3a7d17669711ed202 (diff)
downloadouroboros-a2fb329778938f769121855c8a11aa3bfb30b194.tar.gz
ouroboros-a2fb329778938f769121855c8a11aa3bfb30b194.zip
Merged in dstaesse/ouroboros/be-cleanup-flows (pull request #128)
ipcpd: fixed missing unlock in shim UDP
-rw-r--r--src/ipcpd/shim-udp/main.c6
-rw-r--r--src/tools/cbr/cbr_client.c2
-rw-r--r--src/tools/echo/echo_client.c4
3 files changed, 5 insertions, 7 deletions
diff --git a/src/ipcpd/shim-udp/main.c b/src/ipcpd/shim-udp/main.c
index 186f0ebc..ccd8530b 100644
--- a/src/ipcpd/shim-udp/main.c
+++ b/src/ipcpd/shim-udp/main.c
@@ -1151,6 +1151,8 @@ static int ipcp_udp_name_reg(char * name)
return -1;
}
}
+#else
+ rw_lock_unlock(&_ipcp->state_lock);
#endif
LOG_DBG("Registered %s.", name);
@@ -1606,7 +1608,9 @@ int main (int argc, char * argv[])
free(_ipcp->ops);
free(_ipcp);
- exit(0);
+ LOG_DBG("IPCP exited.");
+
+ exit(EXIT_SUCCESS);
}
#endif /* MAKE_CHECK */
diff --git a/src/tools/cbr/cbr_client.c b/src/tools/cbr/cbr_client.c
index 1cc325b8..af766599 100644
--- a/src/tools/cbr/cbr_client.c
+++ b/src/tools/cbr/cbr_client.c
@@ -60,7 +60,6 @@ int client_main(char * server,
fd = flow_alloc(server, NULL, NULL);
if (fd < 0) {
printf("Failed to allocate flow.\n");
- ap_fini();
return -1;
}
@@ -68,7 +67,6 @@ int client_main(char * server,
if (result < 0) {
printf("Flow allocation refused.\n");
flow_dealloc(fd);
- ap_fini();
return -1;
}
diff --git a/src/tools/echo/echo_client.c b/src/tools/echo/echo_client.c
index 499e36ee..f006273c 100644
--- a/src/tools/echo/echo_client.c
+++ b/src/tools/echo/echo_client.c
@@ -34,7 +34,6 @@ int client_main()
fd = flow_alloc("echo", NULL, NULL);
if (fd < 0) {
printf("Failed to allocate flow.\n");
- ap_fini();
return -1;
}
@@ -42,14 +41,12 @@ int client_main()
if (result < 0) {
printf("Flow allocation refused.\n");
flow_dealloc(fd);
- ap_fini();
return -1;
}
if (flow_write(fd, message, strlen(message) + 1) == -1) {
printf("Failed to write SDU.\n");
flow_dealloc(fd);
- ap_fini();
return -1;
}
@@ -57,7 +54,6 @@ int client_main()
if (count < 0) {
printf("Failed to read SDU.\n");
flow_dealloc(fd);
- ap_fini();
return -1;
}