Multi-threaded sending in CVS / SMTP bug(?)



Subject says it all.  Well - not quite.

I still have to add pipes and messages so that the sending thread can tell
the main thread to check local mailboxes after send (will affect only
sentbox/outbox, I imagine).  It'd be nice if we could incorporate some
kind of error-reporting into this message system as well.

I had to temporary disable the code in SMTP that looped through outbox to
send messages -- hope you don't mind Hector.  I'll re-activate this later.  
For the threads to work I have to pretty rigorously separate GTK/glib code
from Message/Mailbox code and I/O.  Hector -- one of the SMTP functions
w/in the threads uses GList:  is there any change that we can move this
over to a non-glib specific linked list of some sort?  (I'm sure it won't
cause any trouble, but glib isn't particularly thread-safe -- unless we
want to surround every glib function call w/ locks -- which doesn't make
sense.)

On to the possible bug, I found that when I tried to send messages w/ SMTP
(both before and after my changes, and both with and without
multi-threaded I/O) I got this error on stderr/stdout:

555 syntax error (#5.5.4)

It could be something on my end, but I can send OK from windows w/ the
same settings.

In any case, the send mail code worked well for me in my non-scientific
trial (ie, opening ten compose dialogs and firing them off as quickly as
possible:) ), but it should be considered alpha.  Please hammer away and
let me know what happens.  (You'll need to configure --enable-threads,
obviously.)

This is the last major change I wanted to make myself before the release,
so I'll just concentrate on refining this and bug-fixes until it goes
out.

David




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