Re: Instabilities with multi threaded application
- From: Soeren Sandmann <sandmann daimi au dk>
- To: Tiago Cogumbreiro <cogumbreiro linus uac pt>
- Cc: Tristan Van Berkom <vantr touchtunes com>, Gnome-devel-list <gnome-devel-list gnome org>, gtk-app-devel-list gnome org, spamfrommailing freax org
- Subject: Re: Instabilities with multi threaded application
- Date: 24 Jul 2004 17:43:37 +0200
Tiago Cogumbreiro <cogumbreiro linus uac pt> writes:
> Since Philip is using pthreads and gthreads use pthreads (in linux,
> which i am assuming is his platform), wouldn't a simple gthreads_init,
> suffice?
>
> Also, if only one thread changes the gui is the
> gdk_threads_{enter,leave} needed surrounding main_loop?
No.
> Are g_{idle,timeout}_add add thread safe? Can i call them from another
> problems with no problems whatsoever? I'm am routing all my gui related
> tasks to these functions and therefore skiping the gdk lock, is this an
> acceptable procedure?
Yes, calling g_idle/timeout_add from another thread is perfectly
legal. Those functions will do their own locking, so
gdk_threads_enter/leave() are no not needed. And yes, routing all gui
related tasks though those functions is acceptable and what I'd
usually recommend for using threads with GTK+.
There is no need for gdk_threads_enter/leave() in the callbacks either
since they will be called from the main gtk+ thread. Of course, if the
callbacks are accessing data structures that are modified by other
threads, then locking will be needed,
> Oh and one more thing, the glib documentation has a bug in
> g_strsplit_set function's documentation:
>
> http://developer.gnome.org/doc/API/2.0/glib/glib-String-Utility-Functions.html#g-strsplit-set
>
> I'm assuming this function came from somewhere else and had the name
> g_strtokenize, it should be g_strsplit_set. Should i fill a bug report
> about this?
Yes, filing a bug at
http://bugzilla.gnome.org/enter_bug.cgi
is the thing to do, but I'll just go ahead and fix this one. Thanks.
Søren
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]