int ret = WEBRTC_ERROR_NONE;
webrtc_signaling_server_s *_server = (webrtc_signaling_server_s *)server;
GError *error;
+ g_autoptr(GMutexLocker) locker = NULL;
RET_VAL_IF(server == NULL, WEBRTC_ERROR_INVALID_PARAMETER, "server is NULL");
- g_mutex_lock(&_server->mutex);
+ locker = g_mutex_locker_new(&_server->mutex);
if (_server->thread) {
LOG_DEBUG("thread[%p] has been already started", _server->thread);
- g_mutex_unlock(&_server->mutex);
return WEBRTC_ERROR_NONE;
}
LOG_INFO("server[%p, thread:%p]", _server, _server->thread);
- g_mutex_unlock(&_server->mutex);
-
return ret;
}
int webrtc_signaling_server_stop(webrtc_signaling_server_h server)
{
webrtc_signaling_server_s *_server = (webrtc_signaling_server_s *)server;
+ g_autoptr(GMutexLocker) locker = NULL;
RET_VAL_IF(server == NULL, WEBRTC_ERROR_INVALID_PARAMETER, "server is NULL");
- g_mutex_lock(&_server->mutex);
+ locker = g_mutex_locker_new(&_server->mutex);
- RET_VAL_WITH_UNLOCK_IF(_server->thread == NULL, WEBRTC_ERROR_INVALID_OPERATION, &_server->mutex, "thread is NULL");
+ RET_VAL_IF(_server->thread == NULL, WEBRTC_ERROR_INVALID_OPERATION, "thread is NULL");
__stop_server(_server);
- g_mutex_unlock(&_server->mutex);
-
return WEBRTC_ERROR_NONE;
}