Subject: [PATCH] polkitd: fix zombie not reaped when js spawned process timed out The child watch source attached to thread context didn't work due to the release of it's main loop and context outside. So we attach the source to the global default main context to make it work and avoid zombies. --- src/polkitbackend/polkitbackendjsauthority.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/polkitbackend/polkitbackendjsauthority.cpp b/src/polkitbackend/polkitbackendjsauthority.cpp index 517f3c6..7b9c2f0 100644 --- a/src/polkitbackend/polkitbackendjsauthority.cpp +++ b/src/polkitbackend/polkitbackendjsauthority.cpp @@ -1595,7 +1595,8 @@ utils_spawn_data_free (UtilsSpawnData *data) (GSourceFunc) utils_child_watch_from_release_cb, source, (GDestroyNotify) g_source_destroy); - g_source_attach (source, data->main_context); + /* attach source to the global default main context */ + g_source_attach (source, NULL); g_source_unref (source); data->child_pid = 0; } -- 1.8.3.1