Re: Threads and idle functions



yep. Seems to be working.

Thanks!

Dave



________________________________
 From: James Morris <jwm art net gmail com>
To: David Buchan <pdbuchan yahoo com> 
Sent: Monday, July 2, 2012 9:10 PM
Subject: Re: Threads and idle functions
 
On 3 July 2012 01:50, David Buchan <pdbuchan yahoo com> wrote:
My understanding is that child threads must never alter the UI in any way.

If I have a program which spawns a child thread to download some data and I want to be able to have a 
dialog pop up should an error occur, is it correct to say that I need an idle function to be running 
concurrently to monitor some global variable which would contain the status (set by the download thread), 
and then the idle function would create the dialog pop-up?

Put another way, if only the GTK+ main iteration is allowed to alter the GUI, then how does someone get 
information out of a child thread and to the UI?

Well from what I hear, g_idle_add offers some form of thread safety so
a child thread can communicate some item of data via a callback
executed in the GUI thread.

The documentation also seems to support this view:
http://developer.gnome.org/glib/2.31/glib-The-Main-Event-Loop.html#glib-The-Main-Event-Loop.description

your child/download thread does the monitoring of the error status and
when an error is found, use g_idle_add to wait some moments and then
communicate the error to a callback.

HTH,
James.

Dave
_______________________________________________
gtk-app-devel-list mailing list
gtk-app-devel-list gnome org
https://mail.gnome.org/mailman/listinfo/gtk-app-devel-list


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