summaryrefslogtreecommitdiff
path: root/ipacm
diff options
context:
space:
mode:
Diffstat (limited to 'ipacm')
-rw-r--r--ipacm/src/IPACM_ConntrackClient.cpp16
1 files changed, 11 insertions, 5 deletions
diff --git a/ipacm/src/IPACM_ConntrackClient.cpp b/ipacm/src/IPACM_ConntrackClient.cpp
index 24f95a3..dabd8e6 100644
--- a/ipacm/src/IPACM_ConntrackClient.cpp
+++ b/ipacm/src/IPACM_ConntrackClient.cpp
@@ -493,12 +493,18 @@ void* IPACM_ConntrackClient::TCPRegisterWithConnTrack(void *)
blocks waiting for events. */
IPACMDBG("Waiting for events\n");
+ctcatch:
ret = nfct_catch(pClient->tcp_hdl);
- if(ret == -1)
+ if((ret == -1) && (errno != ENOMSG))
{
- IPACMERR("(%d)(%s)\n", ret, strerror(errno));
+ IPACMERR("(%d)(%d)(%s)\n", ret, errno, strerror(errno));
return NULL;
}
+ else
+ {
+ IPACMDBG("ctcatch ret:%d, errno:%d\n", ret, errno);
+ goto ctcatch;
+ }
IPACMDBG("Exit from tcp thread\n");
@@ -579,14 +585,14 @@ void* IPACM_ConntrackClient::UDPRegisterWithConnTrack(void *)
/* Block to catch events from net filter connection track */
ctcatch:
ret = nfct_catch(pClient->udp_hdl);
- if(ret == -1)
+ if((ret == -1) && (errno != ENOMSG))
{
- IPACMDBG("(%d)(%s)\n", ret, strerror(errno));
+ IPACMDBG("(%d)(%d)(%s)\n", ret, errno, strerror(errno));
return NULL;
}
else
{
- IPACMDBG("ctcatch ret:%d\n", ret);
+ IPACMDBG("ctcatch ret:%d, errno:%d\n", ret, errno);
goto ctcatch;
}