Re: Threads and idle functions
- From: David Buchan <pdbuchan yahoo com>
- To: James Morris <jwm art net gmail com>, gtk-app-devel-list list <gtk-app-devel-list gnome org>
- Subject: Re: Threads and idle functions
- Date: Mon, 2 Jul 2012 19:51:26 -0700 (PDT)
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]