[asterisk-commits] eliel: trunk r194283 - /trunk/main/manager.c
SVN commits to the Asterisk project
asterisk-commits at lists.digium.com
Wed May 13 10:02:23 CDT 2009
Author: eliel
Date: Wed May 13 10:02:10 2009
New Revision: 194283
URL: http://svn.asterisk.org/svn-view/asterisk?view=rev&rev=194283
Log:
Do not lock the 'sessions' container, lock the allocated 'session'.
There was a typo in the structure being locked, and we were locking the
'sessions' container instead of the 'session' structure thar we are modifying.
Reported by seanbright on #asterisk-dev, thanks!
Modified:
trunk/main/manager.c
Modified: trunk/main/manager.c
URL: http://svn.asterisk.org/svn-view/asterisk/trunk/main/manager.c?view=diff&rev=194283&r1=194282&r2=194283
==============================================================================
--- trunk/main/manager.c (original)
+++ trunk/main/manager.c Wed May 13 10:02:10 2009
@@ -3376,7 +3376,6 @@
if (session == NULL) {
goto done;
}
- ao2_lock(sessions);
flags = fcntl(ser->fd, F_GETFL);
if (!block_sockets) { /* make sure socket is non-blocking */
@@ -3386,6 +3385,7 @@
}
fcntl(ser->fd, F_SETFL, flags);
+ ao2_lock(session);
/* Hook to the tail of the event queue */
session->last_ev = grab_last();
@@ -3399,7 +3399,7 @@
AST_LIST_HEAD_INIT_NOLOCK(&session->datastores);
- ao2_unlock(sessions);
+ ao2_unlock(session);
astman_append(&s, "Asterisk Call Manager/%s\r\n", AMI_VERSION); /* welcome prompt */
for (;;) {
if ((res = do_message(&s)) < 0) {
More information about the asterisk-commits
mailing list