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!
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@194283
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
if (session == NULL) {
goto done;
}
- ao2_lock(sessions);
flags = fcntl(ser->fd, F_GETFL);
if (!block_sockets) { /* make sure socket is non-blocking */
}
fcntl(ser->fd, F_SETFL, flags);
+ ao2_lock(session);
/* Hook to the tail of the event queue */
session->last_ev = grab_last();
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) {