Commit ec9d39b9 authored by Simon McVittie's avatar Simon McVittie

test-utils-glib: Wait for the killed process to exit

Otherwise, removing transient service directories that are being
watched by the dbus-daemon can fail with EAGAIN.

Bug: https://bugs.freedesktop.org/show_bug.cgi?id=99825Reviewed-by: Philip Withnall's avatarPhilip Withnall <withnall@endlessm.com>
Signed-off-by: default avatarSimon McVittie <simon.mcvittie@collabora.co.uk>
parent 06904a8d
......@@ -418,9 +418,25 @@ test_connect_to_bus_as_user (TestMainContext *ctx,
#endif
}
static void
pid_died (GPid pid,
gint status,
gpointer user_data)
{
gboolean *result = user_data;
g_assert (result != NULL);
g_assert (!*result);
*result = TRUE;
}
void
test_kill_pid (GPid pid)
{
gint died = FALSE;
g_child_watch_add (pid, pid_died, &died);
#ifdef DBUS_WIN
if (pid != NULL)
TerminateProcess (pid, 1);
......@@ -428,6 +444,9 @@ test_kill_pid (GPid pid)
if (pid > 0)
kill (pid, SIGTERM);
#endif
while (!died)
g_main_context_iteration (NULL, TRUE);
}
static gboolean
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment