[Stackless-checkins] r51817 - in stackless/sandbox/libraries/slpmonkeypatch: fileobject.py resources/iocp.py

richard.tew python-checkins at python.org
Thu Sep 7 18:13:31 CEST 2006


Author: richard.tew
Date: Thu Sep  7 18:13:25 2006
New Revision: 51817

Added:
   stackless/sandbox/libraries/slpmonkeypatch/fileobject.py   (contents, props changed)
Modified:
   stackless/sandbox/libraries/slpmonkeypatch/resources/iocp.py
Log:
An initial monkeypatched file object.  Still a long way to go.

Added: stackless/sandbox/libraries/slpmonkeypatch/fileobject.py
==============================================================================
--- (empty file)
+++ stackless/sandbox/libraries/slpmonkeypatch/fileobject.py	Thu Sep  7 18:13:25 2006
@@ -0,0 +1,23 @@
+import __builtin__
+
+stdfile = file
+
+def stacklessopen(filename, mode='r', bufsize=None):
+    return StacklessFile(filename, mode, bufsize)
+
+class StacklessFile(file):
+    def __init__(self, filename, mode='r', bufsize=None):
+        # Preserve normal behaviour.
+        if bufsize is None:
+            super(file, self).__init__(filename, mode)
+        else:
+            super(file, self).__init__(filename, mode, bufsize)
+    def xread(self):
+        pass
+    def xwrite(self):
+        pass
+
+def monkeypatch1():
+    __builtin__.stdopen = __builtin__.open
+    __builtin__.open = stacklessopen
+    __builtin__.file = StacklessFile

Modified: stackless/sandbox/libraries/slpmonkeypatch/resources/iocp.py
==============================================================================
--- stackless/sandbox/libraries/slpmonkeypatch/resources/iocp.py	(original)
+++ stackless/sandbox/libraries/slpmonkeypatch/resources/iocp.py	Thu Sep  7 18:13:25 2006
@@ -57,7 +57,7 @@
             numBytes = c_long()
             completionKey = c_long()
             overlapped = c_void_p()
-            ret = windll.kernel32.GetQueuedCompletionStatus(port, byref(numBytes), byref(completionKey), byref(overlapped), timeout)
+            ret = windll.kernel32.GetQueuedCompletionStatus(self.port, byref(numBytes), byref(completionKey), byref(overlapped), timeout)
             timeout = 0
 
             if overlapped.value is None:

_______________________________________________
Stackless-checkins mailing list
Stackless-checkins at stackless.com
http://www.stackless.com/mailman/listinfo/stackless-checkins



More information about the Stackless-checkins mailing list