]> gitweb.factorcode.org Git - factor.git/commitdiff
win32 fixes
authorMackenzie Straight <eizneckam@gmail.com>
Wed, 31 Aug 2005 05:39:37 +0000 (05:39 +0000)
committerMackenzie Straight <eizneckam@gmail.com>
Wed, 31 Aug 2005 05:39:37 +0000 (05:39 +0000)
library/bootstrap/win32-io.factor
library/win32/win32-io-internals.factor

index c51094e12c529ffea8e7ebb277d3a0a3bcfdb9a0..3b8fe648ee31f573ccc714479daca7058ebe4dcf 100644 (file)
@@ -39,9 +39,9 @@ USE: win32-api
 
 IN: io-internals
 
-: io-multiplex ( timeout -- task )
+: io-multiplex ( timeout -- )
     #! FIXME: needs to work given a timeout
-    -1 = [ win32-next-io-task ] when ;
+    dup -1 = [ drop INFINITE ] when cancel-timedout wait-for-io swap call ;
 
 : init-io ( -- )
     win32-init-stdio ;
index 26921e0e54dc22fe35a3ba8d1bab0917f9b4108f..c056d464917d6b04dba599e4dd85257d12cd1035 100644 (file)
@@ -124,20 +124,8 @@ C: io-callback ( -- callback )
     (wait-for-io) overlapped>callback swap indirect-pointer-value 
     rot [ queue-error ] unless ;
 
-: win32-next-io-task ( -- )
-    INFINITE wait-for-io swap call ;
-
-: win32-io-thread ( -- )
-    cancel-timedout 10 wait-for-io swap [
-        [ schedule-thread call ] callcc0 2drop
-    ] [
-        drop yield
-    ] ifte* 
-    win32-io-thread ;
-
 : win32-init-stdio ( -- )
     INVALID_HANDLE_VALUE NULL NULL 1 CreateIoCompletionPort
     completion-port set 
-    <io-queue> io-queue set 
-    [ win32-io-thread ] in-thread ;
+    <io-queue> io-queue set ;