Add crash option
authorMark Spencer <markster@digium.com>
Wed, 13 Aug 2003 22:12:54 +0000 (22:12 +0000)
committerMark Spencer <markster@digium.com>
Wed, 13 Aug 2003 22:12:54 +0000 (22:12 +0000)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1317 65c4cc65-6c06-0410-ace0-fbb531ad65f3

include/asterisk/lock.h

index 092672c..9459042 100755 (executable)
 #include <pthread.h>
 
 #ifdef DEBUG_THREADS
+#ifdef THREAD_CRASH
+#define DO_THREAD_CRASH do { *((int *)(0)) = 1; } while(0)
+#endif
 
-#define TRIES 50
 
 #include <errno.h>
 #include <string.h>
@@ -93,6 +95,9 @@ static inline int __ast_pthread_mutex_lock(char *filename, int lineno, char *fun
        } else {
                fprintf(stderr, "%s line %d (%s): Error obtaining mutex: %s\n",
                        filename, lineno, func, strerror(errno));
+#ifdef THREAD_CRASH
+               DO_THREAD_CRASH;
+#endif
        }
        return res;
 }
@@ -121,9 +126,13 @@ static inline int __ast_pthread_mutex_unlock(char *filename, int lineno, char *f
        t->func = NULL;
        t->thread = 0;
        res = pthread_mutex_unlock(&t->mutex);
-       if (res) 
+       if (res) {
                fprintf(stderr, "%s line %d (%s): Error releasing mutex: %s\n", 
                                filename, lineno, func, strerror(res));
+#ifdef THREAD_CRASH
+               DO_THREAD_CRASH;
+#endif
+       }
        return res;
 }