mirror of
https://github.com/Ardour/ardour.git
synced 2025-12-08 15:54:57 +01:00
Handle vfork/exec failure
Don't call atexit, exit without cleanup.
This commit is contained in:
parent
a9bd7b2848
commit
cf0904f752
3 changed files with 3 additions and 3 deletions
|
|
@ -562,7 +562,7 @@ PulseAudioBackend::launch_control_app ()
|
||||||
{
|
{
|
||||||
if (::vfork () == 0) {
|
if (::vfork () == 0) {
|
||||||
::execlp ("pavucontrol", "pavucontrol", (char*)NULL);
|
::execlp ("pavucontrol", "pavucontrol", (char*)NULL);
|
||||||
exit (EXIT_SUCCESS);
|
_exit (EXIT_SUCCESS);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -72,7 +72,7 @@ PBD::open_uri (const char* uri)
|
||||||
|
|
||||||
if (::vfork () == 0) {
|
if (::vfork () == 0) {
|
||||||
::execlp ("xdg-open", "xdg-open", s.c_str(), (char*)NULL);
|
::execlp ("xdg-open", "xdg-open", s.c_str(), (char*)NULL);
|
||||||
exit (EXIT_SUCCESS);
|
_exit (EXIT_SUCCESS);
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif /* not PLATFORM_WINDOWS and not __APPLE__ */
|
#endif /* not PLATFORM_WINDOWS and not __APPLE__ */
|
||||||
|
|
|
||||||
|
|
@ -818,7 +818,7 @@ SystemExec::start (StdErrMode stderr_mode, const char *vfork_exec_wrapper)
|
||||||
char buf = 0;
|
char buf = 0;
|
||||||
(void) ::write (pok[1], &buf, 1);
|
(void) ::write (pok[1], &buf, 1);
|
||||||
close_fd (pok[1]);
|
close_fd (pok[1]);
|
||||||
exit (EXIT_FAILURE);
|
_exit (EXIT_FAILURE);
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue