diff options
author | kpfleming <kpfleming@f38db490-d61c-443f-a65b-d21fe96a405b> | 2005-05-15 02:54:47 +0000 |
---|---|---|
committer | kpfleming <kpfleming@f38db490-d61c-443f-a65b-d21fe96a405b> | 2005-05-15 02:54:47 +0000 |
commit | c3b40fbb666414f4d5e5a1ae63272a79d438af88 (patch) | |
tree | cd7805ea1cf1571ac31823a13ebe4c6eca7692e8 /manager.c | |
parent | 593a3886ae6fdb500c093d28fb4bc7c8d2e7de68 (diff) |
fix for dead manager connections to avoid deadlock (bug #4053)
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@5661 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'manager.c')
-rwxr-xr-x | manager.c | 4 |
1 files changed, 4 insertions, 0 deletions
@@ -94,6 +94,10 @@ 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; |