mirror of
https://gitlab.freedesktop.org/pulseaudio/pulseaudio.git
synced 2025-11-08 13:29:59 -05:00
when killing gconf helper, loop over EINTR
This commit is contained in:
parent
ea15ca9862
commit
cf3f80e8b4
1 changed files with 10 additions and 2 deletions
|
|
@ -378,7 +378,16 @@ void pa__done(pa_module*m) {
|
||||||
|
|
||||||
if (u->pid != (pid_t) -1) {
|
if (u->pid != (pid_t) -1) {
|
||||||
kill(u->pid, SIGTERM);
|
kill(u->pid, SIGTERM);
|
||||||
waitpid(u->pid, NULL, 0);
|
|
||||||
|
for (;;) {
|
||||||
|
if (waitpid(u->pid, NULL, 0) >= 0)
|
||||||
|
break;
|
||||||
|
|
||||||
|
if (errno != EINTR) {
|
||||||
|
pa_log("waitpid() failed: %s", pa_cstrerror(errno));
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (u->io_event)
|
if (u->io_event)
|
||||||
|
|
@ -387,7 +396,6 @@ void pa__done(pa_module*m) {
|
||||||
if (u->fd >= 0)
|
if (u->fd >= 0)
|
||||||
pa_close(u->fd);
|
pa_close(u->fd);
|
||||||
|
|
||||||
|
|
||||||
if (u->module_infos)
|
if (u->module_infos)
|
||||||
pa_hashmap_free(u->module_infos, module_info_free, u);
|
pa_hashmap_free(u->module_infos, module_info_free, u);
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue