From xemacs-m  Fri Mar 21 15:41:52 1997
Received: from mailbox2.ucsd.edu (mailbox2.ucsd.edu [132.239.1.54])
	by xemacs.org (8.8.5/8.8.5) with ESMTP id PAA19598
	for <xemacs-beta@xemacs.org>; Fri, 21 Mar 1997 15:41:51 -0600 (CST)
Received: from sdnp5.ucsd.edu (sdnp5.ucsd.edu [132.239.79.10]) by mailbox2.ucsd.edu (8.8.5/8.6.9) with SMTP id NAA08220 for <xemacs-beta@xemacs.org>; Fri, 21 Mar 1997 13:41:48 -0800 (PST)
Received: by sdnp5.ucsd.edu (SMI-8.6/SMI-SVR4)
	id NAA24938; Fri, 21 Mar 1997 13:43:43 -0800
Sender: dmoore@sdnp5.ucsd.edu
To: xemacs-beta@xemacs.org
Subject: Re: gnus freezes
References: <87lo7mcp7t.fsf@sbt.net> <rviv2lug3i.fsf@sdnp5.ucsd.edu> <vwmafnxufg1.fsf@calico.cis.ohio-state.edu>
X-Face: "oX;zS#-JU$-,WKSzG.1gGE]x^cIg!hW.dq>.f6pzS^A+(k!T|M:}5{_%>Io<>L&{hO7W4cicOQ|>/lZ1G(m%7iaCf,6Qgk0%%Bz7b2-W3jd0m_UG\Y;?]}4s0O-U)uox>P3JN)9cm]O\@,vy2e{`3pb!"pqmRy3peB90*2L
Mail-Copies-To: never
Mime-Version: 1.0 (generated by tm-edit 7.105)
Content-Type: text/plain; charset=US-ASCII
From: David Moore <dmoore@ucsd.edu>
Date: 21 Mar 1997 13:43:42 -0800
In-Reply-To: Pete Ware's message of 21 Mar 1997 16:02:06 -0500
Message-ID: <rvafnwvs35.fsf@sdnp5.ucsd.edu>
Lines: 29
X-Mailer: Gnus v5.4.28/XEmacs 19.15(beta100)

Pete Ware <ware@cis.ohio-state.edu> writes:

> David Moore <dmoore@ucsd.edu> writes:
> 
> > Michael Harnois <mharnois@sbt.net> writes:
> > 
> > > trying to open it, and I couldn't C-g out of it. However, issuing a
> > > kill -INT to the xemacs process unhung it and it continued normally.
> > 
> > Right, certain system calls like (connect) can not be interrupted by
> 
> I thought the user i/o was interrupt driven?  Otherwise, C-g would
> never work.  Or is that the interface to connect() disables SIGIO?
> Perhaps it needs to be: (1) better at detecting an interrupt from C-g;
> (2) better at restarting the connect() when it is interrupted.

We "slow down interrupts" around calls like connect, because a lot of
systems don't provide ways of 'restarting' system calls.  Basically
everything is disabled except for a timer, which goes off every 30
seconds or so and says ``this call should have finished by now'' and
turns the signals back on.

It's an unpleasant approach.  I'd be happy to see someone rewrite it. :)

-- 
David Moore <dmoore@ucsd.edu>       | Computer Systems Lab      __o
UCSD Dept. Computer Science - 0114  | Work: (619) 534-8604    _ \<,_
La Jolla, CA 92093-0114             | Fax:  (619) 534-1445   (_)/ (_)
<URL:http://oj.egbt.org/dmoore/>    | In a cloud bones of steel.

