dect
/
asterisk
Archived
13
0
Fork 0

Fix agent deadlock and remove braindead tags dependency

git-svn-id: http://svn.digium.com/svn/asterisk/trunk@5777 f38db490-d61c-443f-a65b-d21fe96a405b
This commit is contained in:
markster 2005-05-26 20:24:56 +00:00
parent 6dcf8c17ee
commit 09a03fa87f
2 changed files with 5 additions and 6 deletions

View File

@ -118,7 +118,7 @@ DEBUG=-g #-pg
#endif
# Optional debugging parameters
DEBUG_THREADS = #-DDEBUG_THREADS #-DDO_CRASH #-DDETECT_DEADLOCKS
DEBUG_THREADS = -DDEBUG_THREADS #-DDO_CRASH #-DDETECT_DEADLOCKS
# Uncomment next one to enable ast_frame tracing (for debugging)
TRACE_FRAMES = #-DTRACE_FRAMES
@ -294,9 +294,9 @@ _all: all
all: cleantest depend asterisk subdirs
ifneq ($(wildcard tags),)
all: tags
endif
#ifneq ($(wildcard tags),)
ctags: tags
#endif
ifneq ($(wildcard TAGS),)
all: TAGS

View File

@ -705,14 +705,12 @@ static int agent_hangup(struct ast_channel *ast)
snprintf(agent, sizeof(agent), "Agent/%s", p->agent);
ast_queue_log("NONE", ast->uniqueid, agent, "AGENTCALLBACKLOGOFF", "%s|%ld|%s", p->loginchan, logintime, "Autologoff");
p->loginchan[0] = '\0';
ast_device_state_changed("Agent/%s", p->agent);
}
} else if (p->dead) {
ast_mutex_lock(&p->chan->lock);
ast_softhangup(p->chan, AST_SOFTHANGUP_EXPLICIT);
ast_mutex_unlock(&p->chan->lock);
} else {
ast_device_state_changed("Agent/%s", p->agent);
ast_mutex_lock(&p->chan->lock);
ast_moh_start(p->chan, p->moh);
ast_mutex_unlock(&p->chan->lock);
@ -734,6 +732,7 @@ static int agent_hangup(struct ast_channel *ast)
}
#endif
ast_mutex_unlock(&p->lock);
ast_device_state_changed("Agent/%s", p->agent);
if (p->pending) {
ast_mutex_lock(&agentlock);