[656] in arla-drinkers
Re: Netscape: 'Interrupted system call'
daemon@ATHENA.MIT.EDU (assar@stacken.kth.se)
Mon Mar 1 19:36:08 1999
From owner-arla-drinkers@stacken.kth.se Tue Mar 02 00:36:07 1999
Return-Path: <owner-arla-drinkers@stacken.kth.se>
Delivered-To: arla-drinkers-mtg@bloom-picayune.mit.edu
Received: (qmail 375 invoked from network); 2 Mar 1999 00:36:05 -0000
Received: from unknown (HELO sundance.stacken.kth.se) (130.237.234.41)
by bloom-picayune.mit.edu with SMTP; 2 Mar 1999 00:36:05 -0000
Received: (from majordom@localhost)
by sundance.stacken.kth.se (8.8.8/8.8.8) id AAA07221
for arla-drinkers-list; Tue, 2 Mar 1999 00:22:22 +0100 (MET)
Received: from dyn02.trafford.dementia.org (dyn02.trafford.dementia.org [204.29.154.130])
by sundance.stacken.kth.se (8.8.8/8.8.8) with ESMTP id AAA07185
for <arla-drinkers@stacken.kth.se>; Tue, 2 Mar 1999 00:21:29 +0100 (MET)
Received: (from assar@localhost) by dyn02.trafford.dementia.org (8.9.1/8.7.3) id AAA57349; Tue, 2 Mar 1999 00:23:46 +0100 (CET)
From: assar@stacken.kth.se
To: Robert Watson <robert@cyrus.watson.org>
Cc: arla-drinkers@stacken.kth.se
Subject: Re: Netscape: 'Interrupted system call'
References: <Pine.BSF.3.96.990301105140.10841E-100000@fledge.watson.org>
Mime-Version: 1.0 (generated by tm-edit 7.68)
Content-Type: multipart/mixed;
boundary="Multipart_Tue_Mar__2_00:23:38_1999-1"
Content-Transfer-Encoding: 7bit
Date: 02 Mar 1999 00:23:38 +0100
In-Reply-To: Robert Watson's message of "Mon, 1 Mar 1999 11:11:10 -0500 (EST)"
Message-ID: <5l4so4kd51.fsf@mg.trafford.dementia.org>
Lines: 47
X-Mailer: Gnus v5.5/Emacs 19.34
Sender: owner-arla-drinkers@stacken.kth.se
Precedence: bulk
--Multipart_Tue_Mar__2_00:23:38_1999-1
Content-Type: text/plain; charset=US-ASCII
Robert Watson <robert@cyrus.watson.org> writes:
> >From this behavior, I'm guessing that their threading package uses SIGALRM
> (14) for preemption or timeouts of some kind, and that they do not expect
> to receive it during their open(). However, I believe this is a Netscape
> issue technically, as FreeBSD open(2) does state:
>
> [EINTR] The open() operation was interrupted by a signal.
Yeah, I agree and it's me worthwhile being able to timeout an open()
so I don't know what we could do to workaround this.
You can try the following patch which should make it not happen (but
then again, it will not get interrupted by SIGALRM).
/assar
--Multipart_Tue_Mar__2_00:23:38_1999-1
Content-Type: text/plain; charset=US-ASCII
Index: xfs/bsd/xfs_dev-common.c
===================================================================
RCS file: /usr/local/cvsroot/arla/xfs/bsd/xfs_dev-common.c,v
retrieving revision 1.21
diff -u -w -u -w -r1.21 xfs_dev-common.c
--- xfs_dev-common.c 1999/02/27 19:11:20 1.21
+++ xfs_dev-common.c 1999/03/01 23:16:35
@@ -349,12 +349,15 @@
oldsigmask = xfs_curproc()->p_sigmask;
#ifdef __sigaddset
__sigaddset(&xfs_curproc()->p_sigmask, SIGIO);
+ __sigaddset(&xfs_curproc()->p_sigmask, SIGALRM);
#else
xfs_curproc()->p_sigmask |= sigmask(SIGIO);
+ xfs_curproc()->p_sigmask |= sigmask(SIGALRM);
#endif /* __sigaddset */
#elif defined(HAVE_STRUCT_PROC_P_SIGWAITMASK)
oldsigmask = xfs_curproc()->p_sigwaitmask;
sigaddset(&xfs_curproc()->p_sigwaitmask, SIGIO);
+ sigaddset(&xfs_curproc()->p_sigwaitmask, SIGALRM);
#endif
/*
* We have to check if we have a receiver here too because the
--Multipart_Tue_Mar__2_00:23:38_1999-1--