summaryrefslogtreecommitdiff
path: root/src/ipcpd/normal/enroll.c
diff options
context:
space:
mode:
authordimitri staessens <dimitri.staessens@ugent.be>2017-03-20 13:41:32 +0000
committerSander Vrijders <sander.vrijders@ugent.be>2017-03-20 13:41:32 +0000
commit3bb7ed41f8c96a15f16281f3c9f282e6690aed38 (patch)
tree47253bfd01c7c42677d292cc7d817d830f0a430c /src/ipcpd/normal/enroll.c
parent62e725ced1395b161b0fd66aea433c709850cc57 (diff)
parentd14259796288f9d3eae907408b3c9c2e8c750a9c (diff)
downloadouroboros-3bb7ed41f8c96a15f16281f3c9f282e6690aed38.tar.gz
ouroboros-3bb7ed41f8c96a15f16281f3c9f282e6690aed38.zip
Merged in dstaesse/ouroboros/be-connmgr (pull request #403)
ipcpd: Fix cleanup of connmgr
Diffstat (limited to 'src/ipcpd/normal/enroll.c')
-rw-r--r--src/ipcpd/normal/enroll.c23
1 files changed, 12 insertions, 11 deletions
diff --git a/src/ipcpd/normal/enroll.c b/src/ipcpd/normal/enroll.c
index bdf55fe8..7e15be11 100644
--- a/src/ipcpd/normal/enroll.c
+++ b/src/ipcpd/normal/enroll.c
@@ -73,15 +73,15 @@ static void * enroll_handle(void * o)
(void) o;
while (true) {
- if (connmgr_wait(enroll.ae, &conn)) {
- log_err("Failed to get next connection.");
- continue;
- }
-
cdap = cdap_create();
if (cdap == NULL) {
log_err("Failed to instantiate CDAP.");
- flow_dealloc(conn.flow_info.fd);
+ continue;
+ }
+
+ if (connmgr_wait(enroll.ae, &conn)) {
+ log_err("Failed to get next connection.");
+ cdap_destroy(cdap);
continue;
}
@@ -179,17 +179,18 @@ int enroll_boot(char * dst_name)
char * members_ro = MEMBERS_PATH;
char * dif_ro = DIF_PATH;
- if (connmgr_alloc(enroll.ae, dst_name, NULL, &conn)) {
- log_err("Failed to get connection.");
- return -1;
- }
-
cdap = cdap_create();
if (cdap == NULL) {
log_err("Failed to instantiate CDAP.");
return -1;
}
+ if (connmgr_alloc(enroll.ae, dst_name, NULL, &conn)) {
+ log_err("Failed to get connection.");
+ cdap_destroy(cdap);
+ return -1;
+ }
+
if (cdap_add_flow(cdap, conn.flow_info.fd)) {
log_warn("Failed to add flow to CDAP.");
cdap_destroy(cdap);