arg->invocation = invocation;
GError *error = NULL;
- g_thread_try_new(NULL, (GThreadFunc)dbus_call_handler, (void *)arg, &error);
+ GThread *thread = g_thread_try_new(NULL, (GThreadFunc)dbus_call_handler, (void *)arg, &error);
if (error != NULL) {
_FLOGE("Failed to create thread: %s", error->message);
goto fail;
}
+ g_thread_unref(thread);
+
return TRUE;
fail:
arg->invocation = invocation;
GError *error = NULL;
- g_thread_try_new(NULL, (GThreadFunc)dbus_call_handler, (void *)arg, &error);
+ GThread *thread = g_thread_try_new(NULL, (GThreadFunc)dbus_call_handler, (void *)arg, &error);
if (error != NULL) {
_FLOGE("Failed to create thread: %s", error->message);
goto fail;
}
+ g_thread_unref(thread);
+
return TRUE;
fail:
arg->invocation = invocation;
GError *error = NULL;
- g_thread_try_new(NULL, (GThreadFunc)dbus_call_handler, (void *)arg, &error);
+ GThread *thread = g_thread_try_new(NULL, (GThreadFunc)dbus_call_handler, (void *)arg, &error);
if (error != NULL) {
_FLOGE("Failed to create thread: %s", error->message);
goto fail;
}
+ g_thread_unref(thread);
+
return TRUE;
fail: