#define LOCK_IF_NEEDED(lock, needed) do { \
if (needed) \
- ast_mutex_lock(lock); \
+ ast_channel_lock(lock); \
} while(0)
#define UNLOCK_IF_NEEDED(lock, needed) do { \
if (needed) \
- ast_mutex_unlock(lock); \
+ ast_channel_unlock(lock); \
} while (0)
static unsigned long seq = 0;
static int ast_monitor_set_state(struct ast_channel *chan, int state)
{
- LOCK_IF_NEEDED(&chan->lock, 1);
+ LOCK_IF_NEEDED(chan, 1);
if (!chan->monitor) {
- UNLOCK_IF_NEEDED(&chan->lock, 1);
+ UNLOCK_IF_NEEDED(chan, 1);
return -1;
}
chan->monitor->state = state;
- UNLOCK_IF_NEEDED(&chan->lock, 1);
+ UNLOCK_IF_NEEDED(chan, 1);
return 0;
}
int res = 0;
char tmp[256];
- LOCK_IF_NEEDED(&chan->lock, need_lock);
+ LOCK_IF_NEEDED(chan, need_lock);
if (!(chan->monitor)) {
struct ast_channel_monitor *monitor;
}
if (!(monitor = ast_calloc(1, sizeof(*monitor)))) {
- UNLOCK_IF_NEEDED(&chan->lock, need_lock);
+ UNLOCK_IF_NEEDED(chan, need_lock);
return -1;
}
res = -1;
}
- UNLOCK_IF_NEEDED(&chan->lock, need_lock);
+ UNLOCK_IF_NEEDED(chan, need_lock);
return res;
}
{
int delfiles = 0;
- LOCK_IF_NEEDED(&chan->lock, need_lock);
+ LOCK_IF_NEEDED(chan, need_lock);
if (chan->monitor) {
char filename[ FILENAME_MAX ];
chan->monitor = NULL;
}
- UNLOCK_IF_NEEDED(&chan->lock, need_lock);
+ UNLOCK_IF_NEEDED(chan, need_lock);
return 0;
}
return -1;
}
- LOCK_IF_NEEDED(&chan->lock, need_lock);
+ LOCK_IF_NEEDED(chan, need_lock);
if (chan->monitor) {
int directory = strchr(fname_base, '/') ? 1 : 0;
ast_log(LOG_WARNING, "Cannot change monitor filename of channel %s to %s, monitoring not started\n", chan->name, fname_base);
}
- UNLOCK_IF_NEEDED(&chan->lock, need_lock);
+ UNLOCK_IF_NEEDED(chan, need_lock);
return 0;
}