--- ./os2/os2.c~	Tue Jan  6 23:53:40 1998
+++ ./os2/os2.c	Mon Feb 23 19:35:02 1998
@@ -163,8 +163,11 @@ os2_cond_wait(perl_cond *c, perl_mutex *
     if ((rc = DosResetEventSem(*c,&na)) && (rc != ERROR_ALREADY_RESET))
 	croak("panic: COND_WAIT-reset: rc=%i", rc);		
     if (m) MUTEX_UNLOCK(m);					
-    if (CheckOSError(DosWaitEventSem(*c,SEM_INDEFINITE_WAIT)))
+    if (CheckOSError(DosWaitEventSem(*c,SEM_INDEFINITE_WAIT))
+	&& (rc != ERROR_INTERRUPT))
 	croak("panic: COND_WAIT: rc=%i", rc);		
+    if (rc == ERROR_INTERRUPT)
+	errno = EINTR;
     if (m) MUTEX_LOCK(m);					
 } 
 #endif 
