hi, backported from chan_capi-0.4.0-pre1:
--- chan_capi.c 2004-08-13 12:07:28.000000000 +0200 +++ chan_capi.c.changed 2005-05-19 01:17:55.000000000 +0200 @@ -640,6 +639,7 @@ char buffer[AST_MAX_EXTENSION]; char called[AST_MAX_EXTENSION],calling[AST_MAX_EXTENSION]; char bchaninfo[3]; + long flags; _cmsg CMSG; MESSAGE_EXCHANGE_ERROR error; @@ -684,10 +684,14 @@ if (pipe(fds) == 0) { ast_mutex_lock(&pipelock); i->fd = fds[0]; + flags = fcntl(i->fd,F_GETFL); + fcntl(i->fd,F_SETFL,flags | O_SYNC | O_DIRECT); p = malloc(sizeof(struct capi_pipe)); memset(p, 0, sizeof(struct capi_pipe)); p->fd = fds[1]; - c->fds[0] = fds[1]; + flags = fcntl(i->fd,F_GETFL); + fcntl(p->fd,F_SETFL,flags | O_SYNC | O_DIRECT); + c->fds[0] = i->fd; p->PLCI = -1; p->i = i; p->c = c; this has been tested to work on kernel 2.6.12-rc3 and 2.4.29. hth Martin Jess -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]