return XMIT_ERROR;
}
- ast_mutex_lock(&tcptls_session->lock);
+ ao2_lock(tcptls_session);
if ((tcptls_session->fd == -1) ||
!(th = ao2_t_find(threadt, &tmp, OBJ_POINTER, "ao2_find, getting sip_threadinfo in tcp helper thread")) ||
}
ao2_unlock(th);
- ast_mutex_unlock(&tcptls_session->lock);
+ ao2_unlock(tcptls_session);
ao2_t_ref(th, -1, "In sip_tcptls_write, unref threadinfo object after finding it");
return res;
if (packet) {
ao2_t_ref(packet, -1, "could not allocate packet's data");
}
- ast_mutex_unlock(&tcptls_session->lock);
+ ao2_unlock(tcptls_session);
return XMIT_ERROR;
}
}
}
- ast_mutex_lock(&tcptls_session->lock);
+ ao2_lock(tcptls_session);
if (!fgets(buf, sizeof(buf), tcptls_session->f)) {
- ast_mutex_unlock(&tcptls_session->lock);
+ ao2_unlock(tcptls_session);
if (after_poll) {
goto cleanup;
} else {
continue;
}
}
- ast_mutex_unlock(&tcptls_session->lock);
+ ao2_unlock(tcptls_session);
after_poll = 0;
if (me->stop) {
goto cleanup;
}
}
- ast_mutex_lock(&tcptls_session->lock);
+ ao2_lock(tcptls_session);
if (!(bytes_read = fread(buf, 1, MIN(sizeof(buf) - 1, cl), tcptls_session->f))) {
- ast_mutex_unlock(&tcptls_session->lock);
+ ao2_unlock(tcptls_session);
if (after_poll) {
goto cleanup;
} else {
}
}
buf[bytes_read] = '\0';
- ast_mutex_unlock(&tcptls_session->lock);
+ ao2_unlock(tcptls_session);
after_poll = 0;
if (me->stop) {
goto cleanup;
}
if (tcptls_session) {
- ast_mutex_lock(&tcptls_session->lock);
+ ao2_lock(tcptls_session);
ast_tcptls_close_session_file(tcptls_session);
tcptls_session->parent = NULL;
- ast_mutex_unlock(&tcptls_session->lock);
+ ao2_unlock(tcptls_session);
ao2_ref(tcptls_session, -1);
tcptls_session = NULL;
return write(tcptls_session->fd, buf, count);
}
-static void session_instance_destructor(void *obj)
-{
- struct ast_tcptls_session_instance *i = obj;
- ast_mutex_destroy(&i->lock);
-}
-
/*! \brief
* creates a FILE * from the fd passed by the accept thread.
* This operation is potentially expensive (certificate verification),
}
continue;
}
- tcptls_session = ao2_alloc(sizeof(*tcptls_session), session_instance_destructor);
+ tcptls_session = ao2_alloc(sizeof(*tcptls_session), NULL);
if (!tcptls_session) {
ast_log(LOG_WARNING, "No memory for new session: %s\n", strerror(errno));
if (close(fd)) {
continue;
}
- ast_mutex_init(&tcptls_session->lock);
-
flags = fcntl(fd, F_GETFL);
fcntl(fd, F_SETFL, flags & ~O_NONBLOCK);
tcptls_session->fd = fd;
}
}
- if (!(tcptls_session = ao2_alloc(sizeof(*tcptls_session), session_instance_destructor))) {
+ if (!(tcptls_session = ao2_alloc(sizeof(*tcptls_session), NULL))) {
goto error;
}
- ast_mutex_init(&tcptls_session->lock);
tcptls_session->client = 1;
tcptls_session->fd = desc->accept_fd;
tcptls_session->parent = desc;