[Vm-dev] [commit] r2117 - update ospp to 4.3.3

commits at squeakvm.org commits at squeakvm.org
Mon Aug 31 18:21:48 UTC 2009


Author: piumarta
Date: 2009-08-31 11:21:47 -0700 (Mon, 31 Aug 2009)
New Revision: 2117

Modified:
   trunk/platforms/unix/ChangeLog
   trunk/platforms/unix/src/plugins/UnixOSProcessPlugin/UnixOSProcessPlugin.c
Log:
update ospp to 4.3.3

Modified: trunk/platforms/unix/ChangeLog
===================================================================
--- trunk/platforms/unix/ChangeLog	2009-08-31 07:05:33 UTC (rev 2116)
+++ trunk/platforms/unix/ChangeLog	2009-08-31 18:21:47 UTC (rev 2117)
@@ -1,3 +1,7 @@
+2009-08-31  Ian Piumarta  <com -dot- gmail -at- piumarta (backwards)>
+
+	* src/plugins/UnixOSProcessPlugin: Updated to version 20.
+
 2009-08-30    <piumarta at ubuntu.piumarta.com>
 
 	* vm/sqUnixMain.c (main): squeakPlugin path defaults to VM

Modified: trunk/platforms/unix/src/plugins/UnixOSProcessPlugin/UnixOSProcessPlugin.c
===================================================================
--- trunk/platforms/unix/src/plugins/UnixOSProcessPlugin/UnixOSProcessPlugin.c	2009-08-31 07:05:33 UTC (rev 2116)
+++ trunk/platforms/unix/src/plugins/UnixOSProcessPlugin/UnixOSProcessPlugin.c	2009-08-31 18:21:47 UTC (rev 2117)
@@ -1,4 +1,4 @@
-/* Automatically generated from Squeak on an Array(26 August 2009 10:02:31 pm)
+/* Automatically generated from Squeak on an Array(31 August 2009 11:16:19 am)
 by VMMaker 3.11.3
  */
 
@@ -29,7 +29,7 @@
 #endif
 #include <sys/types.h>
 /* D T Lewis - UnixOSProcessPlugin.c translated from class
-   UnixOSProcessPlugin of OSProcessPlugin version 4.3.1 */
+   UnixOSProcessPlugin of OSProcessPlugin version 4.3.3 */
 #include <sys/time.h>
 #include <sys/wait.h>
 #include <signal.h>
@@ -115,6 +115,7 @@
 EXPORT(sqInt) primitiveChdir(void);
 EXPORT(sqInt) primitiveCreatePipe(void);
 EXPORT(sqInt) primitiveCreatePipeWithSessionIdentifier(void);
+EXPORT(sqInt) primitiveDupTo(sqInt oldFileDescriptor, sqInt newFileDescriptor);
 EXPORT(sqInt) primitiveEnvironmentAt(void);
 EXPORT(sqInt) primitiveEnvironmentAtSymbol(void);
 EXPORT(sqInt) primitiveErrorMessageAt(void);
@@ -258,9 +259,9 @@
 struct VirtualMachine* interpreterProxy;
 static const char *moduleName =
 #ifdef SQUEAK_BUILTIN_PLUGIN
-	"UnixOSProcessPlugin 26 August 2009 (i)"
+	"UnixOSProcessPlugin 31 August 2009 (i)"
 #else
-	"UnixOSProcessPlugin 26 August 2009 (e)"
+	"UnixOSProcessPlugin 31 August 2009 (e)"
 #endif
 ;
 static void *originalSigHandlers[NSIG];
@@ -1330,6 +1331,22 @@
 }
 
 
+/*	Call dup2() to duplicate a file descriptor. Answer the duplicated file descriptor
+	or -1 on failure. */
+
+EXPORT(sqInt) primitiveDupTo(sqInt oldFileDescriptor, sqInt newFileDescriptor) {
+    int oldfd;
+    int newfd;
+    int result;
+
+	newfd = interpreterProxy->stackIntegerValue(0);
+	oldfd = interpreterProxy->stackIntegerValue(1);
+	result = dup2(oldfd, newfd);
+	interpreterProxy->pop(3);
+	interpreterProxy->pushInteger(result);
+}
+
+
 /*	Answer a string containing the OS process environment string at index (an Integer)
 	in the environment list. */
 
@@ -2356,7 +2373,7 @@
 EXPORT(sqInt) primitiveSQFileSetNonBlocking(void) {
     sqInt sqFileOop;
     sqInt descriptor;
-    sqInt flags;
+    int flags;
     sqInt retVal;
 
 	sqFileOop = interpreterProxy->stackValue(0);
@@ -2480,7 +2497,7 @@
 
 	sigNum = interpreterProxy->stackIntegerValue(0);
 	index = semaIndices[sigNum];
-	interpreterProxy->pop(1);
+	interpreterProxy->pop(2);
 	interpreterProxy->pushInteger(index);
 }
 
@@ -3100,8 +3117,13 @@
 	#primitiveUnixFileNumber. */
 
 EXPORT(sqInt) primitiveUnixFileClose(sqInt anIntegerFileNumber) {
+    int result;
+    int handle;
+
+	handle = interpreterProxy->stackIntegerValue(0);
+	result = close(handle);
 	interpreterProxy->pop(2);
-	interpreterProxy->pushInteger(close(interpreterProxy->stackIntegerValue(0)));
+	interpreterProxy->pushInteger(result);
 }
 
 
@@ -3675,7 +3697,7 @@
 /*	4.0 supports 64bit code base */
 
 static char * versionString(void) {
-    static char version[]= "4.3.1";
+    static char version[]= "4.3.3";
 
 	return version;
 }
@@ -3733,6 +3755,7 @@
 	{"UnixOSProcessPlugin", "primitiveForkExec", (void*)primitiveForkExec},
 	{"UnixOSProcessPlugin", "primitiveErrorMessageAt", (void*)primitiveErrorMessageAt},
 	{"UnixOSProcessPlugin", "primitiveGetPid", (void*)primitiveGetPid},
+	{"UnixOSProcessPlugin", "primitiveDupTo", (void*)primitiveDupTo},
 	{"UnixOSProcessPlugin", "primitiveRealpath", (void*)primitiveRealpath},
 	{"UnixOSProcessPlugin", "primitiveSendSigusr2To", (void*)primitiveSendSigusr2To},
 	{"UnixOSProcessPlugin", "primitiveReapChildProcess", (void*)primitiveReapChildProcess},



More information about the Vm-dev mailing list