diff options
author | kpfleming <kpfleming@f38db490-d61c-443f-a65b-d21fe96a405b> | 2005-10-13 23:29:24 +0000 |
---|---|---|
committer | kpfleming <kpfleming@f38db490-d61c-443f-a65b-d21fe96a405b> | 2005-10-13 23:29:24 +0000 |
commit | 4cf0a307a6fad0da1814d537c8019c1f58d43c5e (patch) | |
tree | 17aa83217947787d77e7bed92761f631cbd8219c /manager.c | |
parent | c6e253434a2d72ce04248af8a0d6ae8da59d67c9 (diff) |
don't try to send events to dead sessions
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@6776 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'manager.c')
-rwxr-xr-x | manager.c | 10 |
1 files changed, 6 insertions, 4 deletions
@@ -1506,10 +1506,12 @@ int manager_event(int category, char *event, char *fmt, ...) ast_mutex_lock(&s->__lock); if (s->busy) { append_event(s, tmp); - } else if (ast_carefulwrite(s->fd, tmp, tmp_next - tmp, s->writetimeout) < 0) { - ast_log(LOG_WARNING, "Disconnecting slow (or gone) manager session!\n"); - s->dead = 1; - pthread_kill(s->t, SIGURG); + } else if (!s->dead) { + if (ast_carefulwrite(s->fd, tmp, tmp_next - tmp, s->writetimeout) < 0) { + ast_log(LOG_WARNING, "Disconnecting slow (or gone) manager session!\n"); + s->dead = 1; + pthread_kill(s->t, SIGURG); + } } ast_mutex_unlock(&s->__lock); } |