diff --git a/tests/rigctld.c b/tests/rigctld.c index 24627aa02..558b9d60c 100644 --- a/tests/rigctld.c +++ b/tests/rigctld.c @@ -4,7 +4,7 @@ * This program test/control a radio using Hamlib. * It takes commands from network connection. * - * $Id: rigctld.c,v 1.6 2008-09-17 18:56:13 fillods Exp $ + * $Id: rigctld.c,v 1.7 2008-09-17 20:36:34 fillods Exp $ * * * This program is free software; you can redistribute it and/or @@ -366,6 +366,7 @@ int main (int argc, char *argv[]) do { #ifdef HAVE_PTHREAD pthread_t thread; + pthread_attr_t attr; #endif struct handle_data *arg; @@ -389,7 +390,10 @@ int main (int argc, char *argv[]) ntohs(arg->cli_addr.sin_port)); #ifdef HAVE_PTHREAD - retcode = pthread_create(&thread, NULL, handle_socket, arg); + pthread_attr_init(&attr); + pthread_attr_setdetachstate(&attr, PTHREAD_CREATE_DETACHED); + + retcode = pthread_create(&thread, &attr, handle_socket, arg); if (retcode != 0) { rig_debug(RIG_DEBUG_ERR, "pthread_create: %s\n", strerror(retcode)); break; diff --git a/tests/rotctld.c b/tests/rotctld.c index 79720a3c8..1d59b94a1 100644 --- a/tests/rotctld.c +++ b/tests/rotctld.c @@ -4,7 +4,7 @@ * This program test/control a rotator using Hamlib. * It takes commands from network connection. * - * $Id: rotctld.c,v 1.2 2008-09-17 18:56:13 fillods Exp $ + * $Id: rotctld.c,v 1.3 2008-09-17 20:36:34 fillods Exp $ * * * This program is free software; you can redistribute it and/or @@ -266,6 +266,7 @@ int main (int argc, char *argv[]) do { #ifdef HAVE_PTHREAD pthread_t thread; + pthread_attr_t attr; #endif struct handle_data *arg; @@ -289,7 +290,10 @@ int main (int argc, char *argv[]) ntohs(arg->cli_addr.sin_port)); #ifdef HAVE_PTHREAD - retcode = pthread_create(&thread, NULL, handle_socket, arg); + pthread_attr_init(&attr); + pthread_attr_setdetachstate(&attr, PTHREAD_CREATE_DETACHED); + + retcode = pthread_create(&thread, &attr, handle_socket, arg); if (retcode != 0) { rig_debug(RIG_DEBUG_ERR, "pthread_create: %s\n", strerror(retcode)); break;