projects
/
lcr.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
ec4c180
)
Another "trylock" test.
author
Andreas Eversberg
<jolly@eversberg.eu>
Wed, 7 Jul 2010 07:14:21 +0000
(09:14 +0200)
committer
Andreas Eversberg
<jolly@eversberg.eu>
Wed, 7 Jul 2010 07:14:21 +0000
(09:14 +0200)
chan_lcr.c
patch
|
blob
|
history
diff --git
a/chan_lcr.c
b/chan_lcr.c
index
5968733
..
53c814f
100644
(file)
--- a/
chan_lcr.c
+++ b/
chan_lcr.c
@@
-1687,16
+1687,21
@@
static void handle_queue()
struct ast_frame fr;
char *p;
+again:
call = call_first;
while(call) {
p = call->queue_string;
ast = call->ast;
if (*p && ast) {
lock_debug("A1+");
-
while
(ast_channel_trylock(ast)) {
+
if
(ast_channel_trylock(ast)) {
lock_debug("<trylock failed>");
+ ast_mutex_unlock(&log_lock);
usleep(1000);
lock_debug("A1++");
+ ast_mutex_lock(&log_lock);
+ lock_debug("A1+-");
+ goto again;
}
lock_debug("A1-");
while(*p) {