UnixOperatingSystem.st
changeset 10983 d62606dafb37
parent 10955 6bf7da8e1c3d
child 11011 d4cb69e190fb
--- a/UnixOperatingSystem.st	Tue Apr 29 19:35:26 2008 +0200
+++ b/UnixOperatingSystem.st	Tue Apr 29 19:42:07 2008 +0200
@@ -6300,6 +6300,23 @@
     "Modified: / 5.6.1998 / 18:38:46 / cg"
 !
 
+dup:aFileDescriptor
+    "duplicate a file descriptor.
+     Only use internally"
+
+%{
+    int dupFd;
+
+    if (__isSmallInteger(aFileDescriptor)) {
+        dupFd = dup(__smallIntegerVal(aFileDescriptor));
+        if (dupFd >= 0) {
+            RETURN(__mkSmallInteger(dupFd));
+        }
+    }
+%}.
+    ^ self primitiveFailed.
+!
+
 slowFork:aBoolean
     "set/clear the `avoid-fork-if-possible-because-its-slow' flag.
      Only used internally on SYSV3 systems"
@@ -12632,7 +12649,7 @@
 !UnixOperatingSystem class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libbasic/UnixOperatingSystem.st,v 1.246 2008-04-14 15:32:09 stefan Exp $'
+    ^ '$Header: /cvs/stx/stx/libbasic/UnixOperatingSystem.st,v 1.247 2008-04-29 17:42:07 stefan Exp $'
 ! !
 
 UnixOperatingSystem initialize!