summaryrefslogtreecommitdiff
path: root/src/ipcpd
diff options
context:
space:
mode:
authorSander Vrijders <sander.vrijders@intec.ugent.be>2016-10-13 14:06:15 +0000
committerSander Vrijders <sander.vrijders@intec.ugent.be>2016-10-13 14:06:15 +0000
commit34f61c73f290b9f375bebb14bc48a4b15dfcc4cc (patch)
tree5192d254611ec919edf4596152ed5c041463acf2 /src/ipcpd
parent550e7892e47cf8daf351eb773ef3900b33ecabae (diff)
parent20921b8300d1699d8b0133b3f5fc360fdd99fc0d (diff)
downloadouroboros-34f61c73f290b9f375bebb14bc48a4b15dfcc4cc.tar.gz
ouroboros-34f61c73f290b9f375bebb14bc48a4b15dfcc4cc.zip
Merged in dstaesse/ouroboros/be-dealloc (pull request #263)
lib: Fix flow deallocation logic
Diffstat (limited to 'src/ipcpd')
-rw-r--r--src/ipcpd/local/main.c2
-rw-r--r--src/ipcpd/shim-eth-llc/main.c2
-rw-r--r--src/ipcpd/shim-udp/main.c2
3 files changed, 6 insertions, 0 deletions
diff --git a/src/ipcpd/local/main.c b/src/ipcpd/local/main.c
index 1ccec0c0..7d23c08d 100644
--- a/src/ipcpd/local/main.c
+++ b/src/ipcpd/local/main.c
@@ -252,6 +252,8 @@ static int ipcp_local_flow_dealloc(int fd)
pthread_rwlock_unlock(&local_data.lock);
pthread_rwlock_unlock(&ipcpi.state_lock);
+ flow_dealloc(fd);
+
LOG_INFO("Flow with fd %d deallocated.", fd);
return 0;
diff --git a/src/ipcpd/shim-eth-llc/main.c b/src/ipcpd/shim-eth-llc/main.c
index 130f3945..399d3dc8 100644
--- a/src/ipcpd/shim-eth-llc/main.c
+++ b/src/ipcpd/shim-eth-llc/main.c
@@ -975,6 +975,8 @@ static int eth_llc_ipcp_flow_dealloc(int fd)
if (ret < 0)
LOG_DBG("Could not notify remote.");
+ flow_dealloc(fd);
+
LOG_DBG("Flow with fd %d deallocated.", fd);
return 0;
diff --git a/src/ipcpd/shim-udp/main.c b/src/ipcpd/shim-udp/main.c
index 12f6d82e..7c109a8a 100644
--- a/src/ipcpd/shim-udp/main.c
+++ b/src/ipcpd/shim-udp/main.c
@@ -1117,6 +1117,8 @@ static int ipcp_udp_flow_dealloc(int fd)
close(skfd);
+ flow_dealloc(fd);
+
LOG_DBG("Flow with fd %d deallocated.", fd);
return 0;