Subject: Again on multithreading c-client under UNIX

From: "Alex Shvedov" <[email-masked]>
Date: Mon, 19 Jul 1999 11:51:38 -0400

Suddenly I realized that there are more problems in
multithreading c-client.

Namely, in POSIX signals are process-wide, so you're bound to (a)
have one specific thread, signal waiter, to deal with all
signals, and (b) close interrupts for all other "worker" threads.

This seems to be an external problem for c-client used inside
some IMAP client; signal waiter is completely independent from
IMAP stuff because client calls do not use signals at all - at
least, that's what I think.

On the server side signals do carry some part of c-client
functionality, especially SIGUSR2, see server_traps in
env_unix.c, unix_open in unix.c and mmdf_open in mmdf.c.

So, either multithreaded c-client "for client" departs from
c-client "for server", which is bad, or multithreading of current
c-client while keeping it both "for client" and "for server"
becomes considerably more complex.

Alas, Karsten...

P.S. I'll post my empirics, anyway.

-- 
------------------------------------------------------------------
 For information about this mailing list, and its archives, see: 
 http://www.washington.edu/imap/c-client-list.html
------------------------------------------------------------------