aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rwxr-xr-xinclude/asterisk/lock.h8
-rwxr-xr-xmanager.c4
2 files changed, 12 insertions, 0 deletions
diff --git a/include/asterisk/lock.h b/include/asterisk/lock.h
index 72743c04f..c40a1ddcf 100755
--- a/include/asterisk/lock.h
+++ b/include/asterisk/lock.h
@@ -20,6 +20,14 @@
#define AST_PTHREADT_NULL (pthread_t) -1
#define AST_PTHREADT_STOP (pthread_t) -2
+#ifdef __APPLE__
+/* Provide the Linux initializers for MacOS X */
+#define PTHREAD_MUTEX_RECURSIVE_NP PTHREAD_MUTEX_RECURSIVE
+#define PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP { 0x4d555458, \
+ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
+ 0x20 } }
+#endif
+
#ifdef DEBUG_THREADS
#ifdef THREAD_CRASH
diff --git a/manager.c b/manager.c
index b619baf04..c77fec158 100755
--- a/manager.c
+++ b/manager.c
@@ -467,6 +467,10 @@ static int action_redirect(struct mansession *s, struct message *m)
return 0;
}
chan = ast_get_channel_by_name_locked(name);
+ if (!chan) {
+ astman_send_error(s, m, "Channel not existant");
+ return 0;
+ }
if (strlen(name2))
chan2 = ast_get_channel_by_name_locked(name2);
res = ast_async_goto(chan, context, exten, pi);