Re: Killing thread



Hi

There is no way to "kill" a thread, while it's stuck in a loop. So you
need to do something like this:

gboolean kill_thread = FALSE

gpointer server_func(gpointer data)
{
        struct timeval tv;
        int setval;

        tv.tv.tv_sec = 0;
        tv.tv_usec = 100;

        while( ! kill_thread )
        {
                selval = select( ..., &tv );
                ...
        }
        kill_thread = FALSE;
}

...
GThread *my_t = g_thread_create( ..., server_func, ... );
...

if( my_t != NULL ) {
        kill_thread = TRUE;
        g_thread_join( my_t );
        my_t = NULL;
}

HTH

Jan-Marek



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]