Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP
Path: utzoo!mnetor!uunet!ukma!nrl-cmf!ames!ucbcad!ucbvax!LF-SERVER-2.BBN.COM!jr
From: jr@LF-SERVER-2.BBN.COM (John Robinson)
Newsgroups: comp.emacs
Subject: Re: ACCEPT-PROCESS-OUTPUT problem
Message-ID: <8712010146.AA05485@ucbvax.Berkeley.EDU>
Date: Mon, 30-Nov-87 21:56:22 EST
Article-I.D.: ucbvax.8712010146.AA05485
Posted: Mon Nov 30 21:56:22 1987
Date-Received: Thu, 3-Dec-87 23:23:14 EST
References: <1791@culdev1.UUCP>
Sender: daemon@ucbvax.BERKELEY.EDU
Reply-To: jr@BBN.COM
Organization: The ARPA Internet
Lines: 25

> If I am right, the problems discussed in the original article never
> happen.
> 
> Does anyone know for sure?

I reached a similar conclusion for Gnu Emacs.  Moreover, I have found
that the following is a reasonable synchronization workaround:

  (if latch
      (progn
	(message "Awaiting latch...")
	(sit-for 0)
	(while latch
	   (sleep-for 1))
	(message "Awaiting latch...done")))

The (sleep-for) allows other sentinels to do their work without
monopolizing the CPU (I tested this using the display-time sentinel
for the modeline).  (sleep-for) apparently has the effect of a
(accept-process-output), which seems reasonable.  Warning: I don't
know how this might work on non-bsd systems; this was checked under
SunOS 3.2 (4.2bsd).

/jr
jr@bbn.com or jr@bbn.uucp