diff options
author | markster <markster@f38db490-d61c-443f-a65b-d21fe96a405b> | 2003-09-08 16:48:07 +0000 |
---|---|---|
committer | markster <markster@f38db490-d61c-443f-a65b-d21fe96a405b> | 2003-09-08 16:48:07 +0000 |
commit | 2be6d9d7c174007ac0018fed802364d2115f0283 (patch) | |
tree | 32674bc8c5dc21153e7c8a4548f6641aef0566bf /channels/chan_modem.c | |
parent | ee8cba2208114438d40442616149adf12cc422c2 (diff) |
BSD portability enhancements (bug #234)
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@1486 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'channels/chan_modem.c')
-rwxr-xr-x | channels/chan_modem.c | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/channels/chan_modem.c b/channels/chan_modem.c index de8237ff8..1da77d321 100755 --- a/channels/chan_modem.c +++ b/channels/chan_modem.c @@ -28,6 +28,7 @@ #include <errno.h> #include <unistd.h> #include <stdlib.h> +#include <netinet/in.h> #include <arpa/inet.h> #include <fcntl.h> #include <sys/ioctl.h> @@ -82,7 +83,7 @@ static ast_mutex_t monlock = AST_MUTEX_INITIALIZER; /* This is the thread for the monitor which checks for input on the channels which are not currently in use. */ -static pthread_t monitor_thread = -1; +static pthread_t monitor_thread = (pthread_t) -1; static int restart_monitor(void); @@ -644,7 +645,7 @@ static void *do_monitor(void *data) static int restart_monitor() { /* If we're supposed to be stopped -- stay stopped */ - if (monitor_thread == -2) + if (monitor_thread == (pthread_t) -2) return 0; if (ast_mutex_lock(&monlock)) { ast_log(LOG_WARNING, "Unable to lock monitor\n"); @@ -655,7 +656,7 @@ static int restart_monitor() ast_log(LOG_WARNING, "Cannot kill myself\n"); return -1; } - if (monitor_thread != -1) { + if (monitor_thread != (pthread_t) -1) { pthread_cancel(monitor_thread); /* Nudge it a little, as it's probably stuck in select */ pthread_kill(monitor_thread, SIGURG); @@ -949,11 +950,11 @@ int unload_module() return -1; } if (!ast_mutex_lock(&monlock)) { - if (monitor_thread > -1) { + if (monitor_thread != (pthread_t) -1 && monitor_thread != (pthread_t) -2) { pthread_cancel(monitor_thread); pthread_join(monitor_thread, NULL); } - monitor_thread = -2; + monitor_thread = (pthread_t) -2; ast_mutex_unlock(&monlock); } else { ast_log(LOG_WARNING, "Unable to lock the monitor\n"); |