|
|
@ -257,8 +257,12 @@ static int unlock_read(struct ast_channel *chan, const char *cmd, char *data, ch
|
|
|
|
|
|
|
|
|
|
|
|
static int lock_read(struct ast_channel *chan, const char *cmd, char *data, char *buf, size_t len)
|
|
|
|
static int lock_read(struct ast_channel *chan, const char *cmd, char *data, char *buf, size_t len)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
|
|
|
|
if (chan)
|
|
|
|
ast_autoservice_start(chan);
|
|
|
|
ast_autoservice_start(chan);
|
|
|
|
|
|
|
|
|
|
|
|
ast_copy_string(buf, get_lock(chan, data, 0) ? "0" : "1", len);
|
|
|
|
ast_copy_string(buf, get_lock(chan, data, 0) ? "0" : "1", len);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if (chan)
|
|
|
|
ast_autoservice_stop(chan);
|
|
|
|
ast_autoservice_stop(chan);
|
|
|
|
|
|
|
|
|
|
|
|
return 0;
|
|
|
|
return 0;
|
|
|
@ -266,8 +270,12 @@ static int lock_read(struct ast_channel *chan, const char *cmd, char *data, char
|
|
|
|
|
|
|
|
|
|
|
|
static int trylock_read(struct ast_channel *chan, const char *cmd, char *data, char *buf, size_t len)
|
|
|
|
static int trylock_read(struct ast_channel *chan, const char *cmd, char *data, char *buf, size_t len)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
|
|
|
|
if (chan)
|
|
|
|
ast_autoservice_start(chan);
|
|
|
|
ast_autoservice_start(chan);
|
|
|
|
|
|
|
|
|
|
|
|
ast_copy_string(buf, get_lock(chan, data, 1) ? "0" : "1", len);
|
|
|
|
ast_copy_string(buf, get_lock(chan, data, 1) ? "0" : "1", len);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if (chan)
|
|
|
|
ast_autoservice_stop(chan);
|
|
|
|
ast_autoservice_stop(chan);
|
|
|
|
|
|
|
|
|
|
|
|
return 0;
|
|
|
|
return 0;
|
|
|
|