aboutsummaryrefslogtreecommitdiffstats
path: root/manager.c
diff options
context:
space:
mode:
authorkpfleming <kpfleming@f38db490-d61c-443f-a65b-d21fe96a405b>2005-10-13 23:29:24 +0000
committerkpfleming <kpfleming@f38db490-d61c-443f-a65b-d21fe96a405b>2005-10-13 23:29:24 +0000
commit4cf0a307a6fad0da1814d537c8019c1f58d43c5e (patch)
tree17aa83217947787d77e7bed92761f631cbd8219c /manager.c
parentc6e253434a2d72ce04248af8a0d6ae8da59d67c9 (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-xmanager.c10
1 files changed, 6 insertions, 4 deletions
diff --git a/manager.c b/manager.c
index bc02a7be4..55120e966 100755
--- a/manager.c
+++ b/manager.c
@@ -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);
}