Tru64 : Intermittent errors when saving a file

Assar Westerlund assar at stacken.kth.se
Sun Jul 15 06:01:02 CEST 2001


Michel Jouvin <jouvin at lal.in2p3.fr> writes:
> We installed arla on a Tru64 v5.1 machine. Basically it works. but users 
> are reported abnormal errors when trying to save a file from an editor 
> (xemacs). Generally it works but from time to time it says "opening output 
> file interrupted system..." (user says there is quite a long message but I 
> am not at the lab and I am not able to check it exactly). If he/she retries 
> to save it works.
> 
> Does it sound as something known ? This behaviour doesn't exist with an AFS 
> client.

Yes, this is an old problem that was fixed a long time ago, but it
needs to be fixed just a little bit different on 5.1.  Can you try
applying the appended patch?  I don't seem to be able to get the
problem with tihs this patch.  Thanks for bringing this up.

/assar



Index: xfs_dev-common.c
===================================================================
RCS file: /afs/stacken.kth.se/src/SourceRepository/arla/xfs/bsd/xfs_dev-common.c,v
retrieving revision 1.44
retrieving revision 1.44.2.1
diff -u -w -u -w -r1.44 -r1.44.2.1
--- xfs_dev-common.c	2001/01/07 03:06:53	1.44
+++ xfs_dev-common.c	2001/07/15 03:55:37	1.44.2.1
@@ -399,7 +399,7 @@
     struct xfs_link *this_message;
     struct xfs_link *this_process;
     struct xfs_message_header *msg;
-#if defined(HAVE_STRUCT_PROC_P_SIGMASK) || defined(HAVE_STRUCT_PROC_P_SIGCTX)
+#if defined(HAVE_STRUCT_PROC_P_SIGMASK) || defined(HAVE_STRUCT_PROC_P_SIGCTX) || defined(__osf__)
     sigset_t oldsigmask;
 #endif
     int catch;
@@ -451,16 +451,24 @@
      */
 
 #ifdef HAVE_STRUCT_PROC_P_SIGMASK
+    /* NetBSD 1.5, Darwin 1.3, FreeBSD 4.3, 5.0, OpenBSD 2.8 */
     oldsigmask = proc->p_sigmask;
     xfs_block_sigset (&proc->p_sigmask);
 #elif defined(HAVE_STRUCT_PROC_P_SIGCTX)
+    /* NetBSD 1.6 */
     oldsigmask = proc->p_sigctx.ps_sigmask;
     xfs_block_sigset (&proc->p_sigctx.ps_sigmask);
 #elif defined(HAVE_STRUCT_PROC_P_SIGWAITMASK)
+    /* OSF 4.0 */
     oldsigmask = proc->p_sigwaitmask;
     sigaddset(&proc->p_sigwaitmask, SIGIO);
     sigaddset(&proc->p_sigwaitmask, SIGALRM);
     sigaddset(&proc->p_sigwaitmask, SIGVTALRM);
+#elif defined(__osf__)
+    oldsigmask = u.u_sigmask;
+    sigaddset(&u.u_sigmask, SIGIO);
+    sigaddset(&u.u_sigmask, SIGALRM);
+    sigaddset(&u.u_sigmask, SIGVTALRM);
 #endif
 
     /*
@@ -495,6 +503,8 @@
     proc->p_sigctx.ps_sigmask = oldsigmask;
 #elif defined(HAVE_STRUCT_PROC_P_SIGWAITMASK)
     proc->p_sigwaitmask = oldsigmask;
+#elif defined(__osf__)
+    u.u_sigmask = oldsigmask;
 #endif
 
     /*





More information about the Arla-drinkers mailing list