Subject: Re: Client says LOGOUT and gets lost

From: "Russ Atkind" <[email-masked]>
Date: Mon, 23 Mar 1998 17:31:36 -0500

--On Monday, March 23, 1998, 10:17 AM -0700 "Lyndon Nerenberg"
<[email-masked]> wrote: 

> On Sat, 21 Mar 1998 01:29:07 -0500 Russ Atkind <[email-masked]> 
> wrote:
> 
>> What's the IMAP morality level of a client sending a LOGOUT command and
then
>> immediately closing the socket without waiting for a response?
> 
> Client writers who do this should be shot. What on earth do they think 
> they are optimizing?
> 

Mark Crispin wrote:

> It's obnoxious behavior.  Depending upon the underlying operating system
> implementation, it could cause the server to be killed without cleaning up
> after itself (good ones won't do this, but all the world isn't good).  It
> could cause spurious system error logs at the server end, as the IMAP
server
> conscientiously records what (to it) seems to be a network connection
failure.
> 
> But it's not the end of the world either.  The worst thing is that it may
lead
> the user to wonder "what other corners did this client cut?"

Okay, so the reason I asked this is that the UW v10 server (at least the one
that servew my primary email account, using straightahead UNIX mailbox
format) sometimes takes quite awhile to process the LOGOUT command -- it
think this tends to happen when a large mailbox is selected, but I haven't
experimented thoroughly.  When using a non-multithreaded mailer, this means
the user waits.  Obviously, the above concerns are valid given the way
things work: it could cause problems if the client drops the connection.  My
question is, why is this wait necessary?  At the very least, couldn't the
server say BYE first and then do whatever processing it needs to do?

---

From: Mark Crispin <[email-masked]>
Date: Mon, 23 Mar 1998 14:44:22 -0800 (PST)

> server say BYE first and then do whatever processing it needs to do?

If it's taking a while, it's because it is saving the user's mail.

Presumably, the user really does want to have his mail saved, and he doesn't
want the server to say "bye" and go off into never-never land without any
indication of whether or not it is succeeding in saving his mail.

Given a choice between pacifying a few impatient individuals who can't wait a
second or two for a LOGOUT to complete, or in making sure that users are
assured that all data is saved before closing, I will always choose the
latter.

You should too.