X-Git-Url: http://research.m1stereo.tv/gitweb?a=blobdiff_plain;f=src%2Fmiracle%2Fmiracle_local.c;h=f89d90e292962e59d66cb3254e5a1c16a04091af;hb=e5c45367d75fd8da08d5267c609ad11ee3ef169a;hp=51f35f804a27f6c646c73e709fafa857eda8df66;hpb=a748638a86c7023aa12e7ca6e49813821fe804fd;p=melted diff --git a/src/miracle/miracle_local.c b/src/miracle/miracle_local.c index 51f35f8..f89d90e 100644 --- a/src/miracle/miracle_local.c +++ b/src/miracle/miracle_local.c @@ -26,7 +26,11 @@ #include #include #include + +/* Needed for backtrace on linux */ +#ifdef linux #include +#endif /* Valerie header files */ #include @@ -291,6 +295,7 @@ void signal_handler( int sig ) static void sigsegv_handler() { +#ifdef linux void *array[ 10 ]; size_t size; char **strings; @@ -309,6 +314,9 @@ static void sigsegv_handler() free( strings ); miracle_log( LOG_CRIT, "\nDone dumping - exiting.\n" ); +#else + miracle_log( LOG_CRIT, "\a\nMiracle experienced a segmentation fault.\n" ); +#endif exit( EXIT_FAILURE ); } @@ -495,8 +503,10 @@ static valerie_response miracle_local_execute( miracle_local local, char *comman static void miracle_local_close( miracle_local local ) { miracle_delete_all_units(); +#ifdef linux pthread_kill_other_threads_np(); miracle_log( LOG_DEBUG, "Clean shutdown." ); free( local ); - //mlt_factory_close( ); + mlt_factory_close( ); +#endif }