diff --git a/bin/darwinvlc.m b/bin/darwinvlc.m index 119c40b5c7f2c79804c1cabd6b9c628cdd77cca4..e9f411fb65f6b536c1196d6c70c65192d57c4b7d 100644 --- a/bin/darwinvlc.m +++ b/bin/darwinvlc.m @@ -204,9 +204,8 @@ int main(int i_argc, const char *ppsz_argv[]) dispatch_queue_t queue = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0); dispatch_source_t sigIntSource = dispatch_source_create(DISPATCH_SOURCE_TYPE_SIGNAL, SIGINT, 0, queue); dispatch_source_t sigTermSource = dispatch_source_create(DISPATCH_SOURCE_TYPE_SIGNAL, SIGTERM, 0, queue); - dispatch_source_t sigChldSource = dispatch_source_create(DISPATCH_SOURCE_TYPE_SIGNAL, SIGCHLD, 0, queue); - if (!sigIntSource || !sigTermSource || !sigChldSource) + if (!sigIntSource || !sigTermSource) abort(); dispatch_source_set_event_handler(sigIntSource, ^{ @@ -216,16 +215,8 @@ int main(int i_argc, const char *ppsz_argv[]) vlc_terminate(nil); }); - dispatch_source_set_event_handler(sigChldSource, ^{ - int status; - while(waitpid(-1, &status, WNOHANG) > 0) - ; - }); - dispatch_resume(sigIntSource); dispatch_resume(sigTermSource); - dispatch_resume(sigChldSource); - /* Handle parameters */ const char **argv = calloc(i_argc + 2, sizeof (argv[0])); @@ -320,7 +311,6 @@ out: dispatch_release(sigIntSource); dispatch_release(sigTermSource); - dispatch_release(sigChldSource); if (vlc) libvlc_release(vlc);