diff options
author | markster <markster@f38db490-d61c-443f-a65b-d21fe96a405b> | 2002-05-13 22:29:39 +0000 |
---|---|---|
committer | markster <markster@f38db490-d61c-443f-a65b-d21fe96a405b> | 2002-05-13 22:29:39 +0000 |
commit | 1642b09aba30d6f0b95a11bf079f99db94fdac02 (patch) | |
tree | 64c5de0a1afb1872ee474057eb3f244015f2801c /channels/chan_modem_i4l.c | |
parent | 1c5b980de51d4caaa1d463fd0f702305b87aec4e (diff) |
Version 0.1.12 from FTP
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@446 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'channels/chan_modem_i4l.c')
-rwxr-xr-x | channels/chan_modem_i4l.c | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/channels/chan_modem_i4l.c b/channels/chan_modem_i4l.c index b02757f6f..609fefffb 100755 --- a/channels/chan_modem_i4l.c +++ b/channels/chan_modem_i4l.c @@ -17,7 +17,7 @@ #include <stdlib.h> #include <errno.h> #include <unistd.h> -#include <pthread.h> +#include <asterisk/lock.h> #include <asterisk/vmodem.h> #include <asterisk/module.h> #include <asterisk/frame.h> @@ -33,7 +33,7 @@ static char *breakcmd = "\0x10\0x14\0x10\0x3"; static char *desc = "ISDN4Linux Emulated Modem Driver"; int usecnt; -pthread_mutex_t usecnt_lock = PTHREAD_MUTEX_INITIALIZER; +pthread_mutex_t usecnt_lock = AST_MUTEX_INITIALIZER; static char *i4l_idents[] = { /* Identify ISDN4Linux Driver */ @@ -386,7 +386,7 @@ static struct ast_frame *i4l_read(struct ast_modem_pvt *p) static int i4l_write(struct ast_modem_pvt *p, struct ast_frame *f) { -#define MAX_WRITE_SIZE 512 +#define MAX_WRITE_SIZE 1024 unsigned char result[MAX_WRITE_SIZE << 1]; unsigned char b; int bpos=0, x; @@ -416,8 +416,10 @@ static int i4l_write(struct ast_modem_pvt *p, struct ast_frame *f) res = write(p->fd, result, bpos); #endif if (res < 1) { - ast_log(LOG_WARNING, "Failed to write buffer\n"); - return -1; + if (errno != EAGAIN) { + ast_log(LOG_WARNING, "Failed to write buffer\n"); + return -1; + } } #if 0 printf("Result of write is %d\n", res); |