*** empty log message ***
authorClaus Gittinger <cg@exept.de>
Tue, 05 Aug 1997 16:09:39 +0200
changeset 2832 3b9900929fb3
parent 2831 02f9aa61f71b
child 2833 f8600b7cb86d
*** empty log message ***
Unix.st
--- a/Unix.st	Tue Aug 05 16:07:50 1997 +0200
+++ b/Unix.st	Tue Aug 05 16:09:39 1997 +0200
@@ -464,15 +464,15 @@
  * explicit add of those we know to have ...
  */
 #ifdef __osf__
-# define TIME_T	time_t
-# define OFF_T	off_t
+# define TIME_T time_t
+# define OFF_T  off_t
 #endif
 
 #ifndef TIME_T
-# define TIME_T	long
+# define TIME_T long
 #endif
 #ifndef OFF_T
-# define OFF_T	long
+# define OFF_T  long
 #endif
 
 %}
@@ -4707,7 +4707,7 @@
 	} while ((ret < 0) && (errno == EINTR));
 	__END_INTERRUPTABLE__
 	if (ret < 0) {
-	    OperatingSystem_LastErrorNumber = __MKSMALLINT(errno);
+	    @global(OperatingSystem:LastErrorNumber) = __MKSMALLINT(errno);
 	    RETURN (false);
 	}
 	RETURN ( ret ? false : true );
@@ -4794,7 +4794,7 @@
 	mtime = __MKUINT(buf.st_mtime);
 	ctime = __MKUINT(buf.st_ctime);
 	if ((ret = readlink((char *) __stringVal(aPathName), pathBuffer, sizeof(pathBuffer))) < 0) {
-	    OperatingSystem_LastErrorNumber = __MKSMALLINT(errno);
+	    @global(OperatingSystem:LastErrorNumber) = __MKSMALLINT(errno);
 	    RETURN ( nil );
 	} 
 	pathBuffer[ret] = '\0';  /* readlink does not 0-terminate */
@@ -5818,7 +5818,7 @@
 #ifndef MSDOS_LIKE
     if (__bothSmallInteger(signalNumber, processId)) {
 	if (kill(__intVal(processId), __intVal(signalNumber)) < 0) {
-	    OperatingSystem_LastErrorNumber = __MKSMALLINT(errno);
+	    @global(OperatingSystem:LastErrorNumber) = __MKSMALLINT(errno);
 	    RETURN ( false );
 	}
 	RETURN ( true );
@@ -7294,7 +7294,7 @@
 	if (address != (void *)-1) {
 	    RETURN (__MKEXTERNALBYTES(addr));
 	}
-	OperatingSystem_LastErrorNumber = __MKSMALLINT(errno);
+	@global(OperatingSystem:LastErrorNumber) = __MKSMALLINT(errno);
 	RETURN (nil);
     }
 #endif
@@ -7320,7 +7320,7 @@
 	if (rslt != -1) {
 	    RETURN (true);
 	}
-	OperatingSystem_LastErrorNumber = __MKSMALLINT(errno);
+	@global(OperatingSystem:LastErrorNumber) = __MKSMALLINT(errno);
 	RETURN (false);
     }
 #endif
@@ -7345,7 +7345,7 @@
 	if (rslt != -1) {
 	    RETURN (__MKSMALLINT(rslt));
 	}
-	OperatingSystem_LastErrorNumber = __MKSMALLINT(errno);
+	@global(OperatingSystem:LastErrorNumber) = __MKSMALLINT(errno);
 	RETURN (nil);
     }
 #endif
@@ -8685,12 +8685,17 @@
 	    }
 	} else {
 	    if (ret < 0) {
-		if (errno != EINTR) {
+		if (errno == EINTR) {
+		    errno = 0;
+		    @global(OperatingSystem:LastErrorNumber) = nil;
+		} else {
 		    if (@global(InfoPrinting) == true) {
 			fprintf(stderr, "OS [info]: select errno = %d\n", errno);
 		    }
-		    OperatingSystem_LastErrorNumber = __MKSMALLINT(errno);
+		    @global(OperatingSystem:LastErrorNumber) = __MKSMALLINT(errno);
 		}
+	    } else {
+		@global(OperatingSystem:LastErrorNumber) = nil;
 	    }
 	}
 
@@ -9013,6 +9018,6 @@
 !OperatingSystem class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libbasic/Attic/Unix.st,v 1.237 1997-07-28 18:56:30 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libbasic/Attic/Unix.st,v 1.238 1997-08-05 14:09:39 cg Exp $'
 ! !
 OperatingSystem initialize!