From: Russell Bryant Date: Tue, 17 May 2005 18:30:44 +0000 (+0000) Subject: remove call to pall on unitialied fds X-Git-Tag: 1.2.0-beta1~631 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=f03896d1fccf092a8a11ba26d29b47232b468ee9;p=thirdparty%2Fasterisk.git remove call to pall on unitialied fds This function assumes that the fd is nonblocking (bug #4053) git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5710 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- diff --git a/manager.c b/manager.c index 6e4812e9c7..11c671c48a 100755 --- a/manager.c +++ b/manager.c @@ -87,6 +87,10 @@ static struct mansession *sessions = NULL; static struct manager_action *first_action = NULL; AST_MUTEX_DEFINE_STATIC(actionlock); +/* If you are calling carefulwrite, it is assumed that you are calling + it on a file descriptor that _DOES_ have NONBLOCK set. This way, + there is only one system call made to do a write, unless we actually + have a need to wait. This way, we get better performance. */ int ast_carefulwrite(int fd, char *s, int len, int timeoutms) { /* Try to write string, but wait no more than ms milliseconds @@ -94,10 +98,6 @@ int ast_carefulwrite(int fd, char *s, int len, int timeoutms) int res=0; struct pollfd fds[1]; while(len) { - /* Wait until writable */ - res = poll(fds, 1, timeoutms); - if (res < 1) - return -1; res = write(fd, s, len); if ((res < 0) && (errno != EAGAIN)) { return -1;