By default, a new thread is created in a joinable state.
---
src/client.c | 8 +++-
1 file changed, 7 insertions(+), 1 deletion(-)
diff --git a/src/client.c b/src/client.c
index d354c2b..603f4a6 100644
--- a/src/client.c
+++ b/src/client.c
@@ -84,6 +84,8 @@ static DBusMessage *find_proxy_for_url(DBusConnection *conn,
DBusMessage *msg, void *user_data)
{
struct jsrun_data *jsrun;
+ pthread_attr_t attrs;
+ int err;
jsrun = g_try_new0(struct jsrun_data, 1);
if (!jsrun)
@@ -94,7 +96,11 @@ static DBusMessage *find_proxy_for_url(DBusConnection *conn,
jsrun->conn = dbus_connection_ref(conn);
jsrun->msg = dbus_message_ref(msg);
- if (pthread_create(&jsrun->thread, NULL, jsrun_thread, jsrun) != 0) {
+ pthread_attr_init(&attrs);
+ pthread_attr_setdetachstate(&attrs, PTHREAD_CREATE_DETACHED);
+ err = pthread_create(&jsrun->thread, &attrs, jsrun_thread, jsrun);
+ pthread_attr_destroy(&attrs);
+ if (err != 0) {
jsrun_free(jsrun);
return g_dbus_create_error(msg,
PACRUNNER_ERROR_INTERFACE ".Failed",
--
1.8.3.2
___
connman mailing list
connman@connman.net
https://lists.connman.net/mailman/listinfo/connman