SerialPort.st
changeset 2610 cb6211751636
parent 2423 f23438963384
child 2681 c927d2c3f48b
--- a/SerialPort.st	Fri Aug 05 12:02:17 2011 +0200
+++ b/SerialPort.st	Fri Aug 05 14:14:29 2011 +0200
@@ -295,9 +295,7 @@
     }
 %}.
     self primitiveFailed.
-! !
-
-!SerialPort protectedMethodsFor:'low level'!
+!
 
 closeFile
     "low level close"
@@ -307,39 +305,39 @@
 
     t = __INST(handle);
     if (t != nil) {
-	FILE *fp;
-	SERIALPORT port;
-
-	__INST(handle) = nil;
-	fp = __FILEVal(t);
-	port = PORT_FROM_FILE(fp);
+        FILE *fp;
 
-# ifdef xxDO_WRAP_CALLS
-	{ int ret;
+        __INST(handle) = nil;
+        fp = __FILEVal(t);
+#ifdef WIN32
+        { 
+            int ret;
+            SERIALPORT port;
 
-	  do {
-	    __threadErrno = 0;
-	    ret = STX_C_CALL1("fclose", fclose, fp);
-	  } while ((ret < 0) && (__threadErrno == EINTR));
+            port = PORT_FROM_FILE(fp);
 
-#  ifdef WIN32
-	  do {
-	    __threadErrno = 0;
-	    ret = STX_WSA_CALL1("CloseHandle", CloseHandle, port);
-	  } while ((ret < 0) && (__threadErrno == EINTR));
-	  CloseHandle(port);
-#  endif
-	}
-# else /* !DO_WRAP_CALLS */
+# ifdef xxxDO_WRAP_CALLS
+            do {
+                __threadErrno = 0;
+                ret = STX_C_CALL1("fclose", fclose, fp);
+            } while ((ret < 0) && (__threadErrno == EINTR));
 
-	fclose(fp);
-#  ifdef WIN32
-	CloseHandle(port);
-#  endif
-
-# endif /* !DO_WRAP_CALLS */
+            do {
+                __threadErrno = 0;
+                ret = STX_WSA_CALL1("CloseHandle", CloseHandle, port);
+            } while ((ret < 0) && (__threadErrno == EINTR));
+# else
+            fclose(fp);
+            CloseHandle(port);
+# endif /* DO_WRAP_CALLS */
+        }
+#else 
+        fclose(fp);
+#endif
     }
 %}
+
+    "Modified: / 05-08-2011 / 14:13:35 / cg"
 ! !
 
 !SerialPort methodsFor:'opening'!
@@ -582,7 +580,9 @@
         console_fprintf(stderr, "Win32OS [info]: fdopen failed\n");
         errorNumber = __MKSMALLINT(errno);
     errExit: ;
+# ifdef WIN32
         CloseHandle(port);
+# endif
         goto getOutOfhere;
     }
 
@@ -617,7 +617,7 @@
         ].
     ].
 
-    "Modified: / 12-02-2007 / 12:29:57 / cg"
+    "Modified: / 05-08-2011 / 14:14:08 / cg"
 ! !
 
 !SerialPort methodsFor:'printing & storing'!
@@ -641,9 +641,9 @@
 !SerialPort class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libbasic2/SerialPort.st,v 1.13 2010-02-04 11:48:58 stefan Exp $'
+    ^ '$Header: /cvs/stx/stx/libbasic2/SerialPort.st,v 1.14 2011-08-05 12:14:29 cg Exp $'
 !
 
 version_CVS
-    ^ '$Header: /cvs/stx/stx/libbasic2/SerialPort.st,v 1.13 2010-02-04 11:48:58 stefan Exp $'
+    ^ '$Header: /cvs/stx/stx/libbasic2/SerialPort.st,v 1.14 2011-08-05 12:14:29 cg Exp $'
 ! !