Module: kamailio
Branch: master
Commit: c0125e049f1c34afe7411f763f9f57c7a00109a8
URL:
https://github.com/kamailio/kamailio/commit/c0125e049f1c34afe7411f763f9f57c…
Author: Daniel-Constantin Mierla <miconda(a)gmail.com>
Committer: Daniel-Constantin Mierla <miconda(a)gmail.com>
Date: 2017-07-09T10:21:20+02:00
evapi: handle return code for fcntl
---
Modified: src/modules/evapi/evapi_dispatch.c
---
Diff:
https://github.com/kamailio/kamailio/commit/c0125e049f1c34afe7411f763f9f57c…
Patch:
https://github.com/kamailio/kamailio/commit/c0125e049f1c34afe7411f763f9f57c…
---
diff --git a/src/modules/evapi/evapi_dispatch.c b/src/modules/evapi/evapi_dispatch.c
index 5429d6913b..aa07a8eb4b 100644
--- a/src/modules/evapi/evapi_dispatch.c
+++ b/src/modules/evapi/evapi_dispatch.c
@@ -591,6 +591,7 @@ int evapi_run_dispatcher(char *laddr, int lport)
struct ev_io io_server;
struct ev_io io_notify;
int yes_true = 1;
+ int fflags = 0;
LM_DBG("starting dispatcher processing\n");
@@ -619,7 +620,15 @@ int evapi_run_dispatcher(char *laddr, int lport)
return -1;
}
/* set non-blocking flag */
- fcntl(evapi_srv_sock, F_SETFL, fcntl(evapi_srv_sock, F_GETFL) | O_NONBLOCK);
+ fflags = fcntl(evapi_srv_sock, F_GETFL);
+ if(fflags<0) {
+ LM_ERR("failed to get the srv socket flags\n");
+ return -1;
+ }
+ if (fcntl(evapi_srv_sock, F_SETFL, fflags | O_NONBLOCK)<0) {
+ LM_ERR("failed to set srv socket flags\n");
+ return -1;
+ }
bzero(&evapi_srv_addr, sizeof(evapi_srv_addr));
evapi_srv_addr.sin_family = h->h_addrtype;