[Glade-users] glade and thread-safe code...
Damon Chaplin
damon@helixcode.com
Sun, 12 Nov 2000 16:06:31 +0000
Roberto Diaz wrote:
>
> Hi!
>
> I've been using glade to build my GUI.. but my application must be
> multi-threaded.. I'm having a real nightmare finding out whethert gtk+ is
> really thread safe or is not.. but the worst problem..
>
> ¿How can I tell glade that my application will be multi-threaded so it
> builds the correct makefile?
GTK+ has a global lock which you must get with GDK_THREADS_ENTER
before calling any GTK+ code. (And release with GDK_THREADS_LEAVE.)
I think GLib is thread-safe - it handles any locking needed itself.
I think people normally keep all GUI code in one thread and use other
threads for background tasks etc.
If you are developing a GTK+ app (i.e. you disabled Gnome support)
you just need to change this line in the configure.in:
AM_PATH_GTK(1.2.0, ,
AC_MSG_ERROR(Cannot find GTK: Is gtk-config in path?))
to:
AM_PATH_GTK(1.2.0, ,
AC_MSG_ERROR(Cannot find GTK: Is gtk-config in path?), gthread)
For a Gnome app I'm not so sure. I think if you replace the line in configure.in:
GNOME_X_CHECKS
with:
AM_PATH_GTK(1.2.0, ,
AC_MSG_ERROR(Cannot find GTK: Is gtk-config in path?), gthread)
it will probably work.
Anyone know any better?
Damon