[Patch] Enable multi-threaded POP3 retrieval

Hi all,

attached is a larger patch which enables multi-threaded retrieval of POP3 messages.  The biggest part of the 
patch is related to changes of the progress dialogue implementation, though.  It also changes the preferences 
by replacing the old (retrieve) progress dialogue options by two simple check boxes for enabling the send and 
receive progress, respectively.  As a side effect, we get rid of a bunch of global variables used for the 
POP3 progress communication between the main and retrieval threads which is a lot cleaner IMHO.

BTW, the patch removes the (now obsolete) file src/threads.h.  I noticed that the file libbalsa/gforest.c is 
not referenced everywhere – couldn't we remove it?

As always, any comment is welcome!


Patch details:
* libbalsa/libbalsa-marshal.list, libbalsa/mailbox.[ch]: new simplified signature for the mailbox '' signal 
and the related helper libbalsa_mailbox_progress_notify()
* libbalsa/libbalsa-progress.[ch]: heavy re-factoring of the progress dialogue, including a fully thread-safe 
interface, simplified access functions, and a new activity mode
* libbalsa/mailbox_pop3.c, libbalsa/send.[ch]: use new progress dialogue interface, pass option to disable 
send progress dialogue
* src/balsa-app.[ch]: define and initialise enable progress dialogue settings, use changed send function 
* src/balsa-message.c, src/balsa-mime-widget-message.c, src/balsa-mime-widget-vcalendar.c, 
src/sendmsg-window.c: use changed send function signature
* src/main-window.[ch]: implement multi-threaded POP3 retrieval, remove old progress implementation, use 
changed send function signature, replace two-state enum by bool
* src/main.c: remove old progress implementation stuff
* src/pref-manager.c: replace progress dialogue settings by two new bool values and related check boxes
* src/save-restore.c: save/restore new progress dialogue bool values
* src/threads.h: completely remove the file

Attachment: pop3_threads.diff.bz2
Description: application/bzip

Attachment: pgpHnrUZH45aq.pgp
Description: PGP signature

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