Re: Why doesn't my label show up in the window



hi;

On 27 August 2012 08:30, Frank Cox <theatre melvilletheatre com> wrote:
On Mon, 27 Aug 2012 08:13:30 +0100
Emmanuele Bassi wrote:

another thing is that if you feel you need to call sleep() anywhere in
a GUI then you are doing it wrong on an epic scale. the first rule of
mainloop-driven toolkits (such as GTK+) is: you do not block the main
loop. the second rule of mainloop-driven toolkits is: you do *not*
block the main loop. even if you're using sleep() to demonstrate the
fact that your long running operation is blocking the GUI, you're
doing it wrong.

Okey dokey.  I'll study your message in more detail tomorrow since it's getting
pretty darn late here, but I do have one immediate question.

My mailserver is small and I need to pace the email that I send to it to avoid
DOS-ing it.  Therefore, I inject a pause of a fixed number of seconds between
sending each outbound email.

If I'm not allowed to pause the program, then how shall I create the delay
between sending each message?

create a queue with all the messages, then use g_timeout_add_seconds()
to have a function called after a certain amount of seconds has
elapsed â and send a single mail from the head of the queue, after
which you update the queue. the timeout source function should return
TRUE if there are elements in the queue, and FALSE otherwise.

more information available here:

http://developer.gnome.org/glib/stable/glib-The-Main-Event-Loop.html
http://developer.gnome.org/glib/stable/glib-Double-ended-Queues.html

ciao,
 Emmanuele.

-- 
W: http://www.emmanuelebassi.name
B: http://blogs.gnome.org/ebassi/



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