Handle vfork/exec failure
Don't call atexit, exit without cleanup.
This commit is contained in:
parent
a9bd7b2848
commit
cf0904f752
@ -562,7 +562,7 @@ PulseAudioBackend::launch_control_app ()
|
||||
{
|
||||
if (::vfork () == 0) {
|
||||
::execlp ("pavucontrol", "pavucontrol", (char*)NULL);
|
||||
exit (EXIT_SUCCESS);
|
||||
_exit (EXIT_SUCCESS);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -72,7 +72,7 @@ PBD::open_uri (const char* uri)
|
||||
|
||||
if (::vfork () == 0) {
|
||||
::execlp ("xdg-open", "xdg-open", s.c_str(), (char*)NULL);
|
||||
exit (EXIT_SUCCESS);
|
||||
_exit (EXIT_SUCCESS);
|
||||
}
|
||||
|
||||
#endif /* not PLATFORM_WINDOWS and not __APPLE__ */
|
||||
|
@ -818,7 +818,7 @@ SystemExec::start (StdErrMode stderr_mode, const char *vfork_exec_wrapper)
|
||||
char buf = 0;
|
||||
(void) ::write (pok[1], &buf, 1);
|
||||
close_fd (pok[1]);
|
||||
exit (EXIT_FAILURE);
|
||||
_exit (EXIT_FAILURE);
|
||||
return -1;
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user