]> gitweb.factorcode.org Git - factor.git/commitdiff
fixed typo in socket code
authorSlava Pestov <slava@factorcode.org>
Mon, 13 Jun 2005 01:20:00 +0000 (01:20 +0000)
committerSlava Pestov <slava@factorcode.org>
Mon, 13 Jun 2005 01:20:00 +0000 (01:20 +0000)
TODO.FACTOR.txt
library/tools/interpreter.factor
library/unix/io.factor
library/unix/sockets.factor

index 71e893272524fb06ce425f2b2f8fd002a4e1dd86..af3e9616bf66fc731ad0bc94be2741cfed66d828 100644 (file)
@@ -8,7 +8,6 @@
 \r
 <erg> if write returns -1  and errno == EINTR then it's not a real error, you can try again\r
 - single-stepper and variable access: wrong namespace?\r
-- investigate if COPYING_GEN needs a fix\r
 - http keep alive, and range get\r
 - sleep word\r
 - fix i/o on generic x86/ppc unix\r
index c641d6c533701025af779f200afad55a98e6b6aa..30443ef8c74d9f91dba37e9b346ce4d51f9d030e 100644 (file)
@@ -29,7 +29,7 @@ SYMBOL: meta-executing
     10 <vector> meta-r set
     10 <vector> meta-d set
     namestack meta-n set
-    f meta-c set
+    catchstack meta-c set
     f meta-cf set
     f meta-executing set ;
 
@@ -51,7 +51,11 @@ SYMBOL: meta-executing
     #! swap in the old stacks. This is so messy.
     push-d datastack push-d
     meta-d get set-datastack
+    catchstack >r meta-c set-catchstack
+    namestack >r meta-n set-namestack
     >r execute datastack r> tuck push
+    r> set-namestack
+    r> set-catchstack
     set-datastack meta-d set ;
 
 : meta-call ( quot -- )
@@ -82,14 +86,10 @@ SYMBOL: meta-executing
 
 \ datastack [ meta-d get clone push-d ] set-meta-word
 \ set-datastack [ pop-d clone meta-d set ] set-meta-word
-\ >r   [ pop-d push-r ] set-meta-word
-\ r>   [ pop-r push-d ] set-meta-word
+\ >r [ pop-d push-r ] set-meta-word
+\ r> [ pop-r push-d ] set-meta-word
 \ callstack [ meta-r get clone push-d ] set-meta-word
 \ set-callstack [ pop-d clone meta-r set ] set-meta-word
-\ namestack [ meta-n get push-d ] set-meta-word
-\ set-namestack [ pop-d meta-n set ] set-meta-word
-\ catchstack [ meta-c get push-d ] set-meta-word
-\ set-catchstack [ pop-d meta-c set ] set-meta-word
 \ call [ pop-d meta-call ] set-meta-word
 \ execute [ pop-d meta-word ] set-meta-word
 \ ifte [ pop-d pop-d pop-d [ nip ] [ drop ] ifte meta-call ] set-meta-word
index ac43997a155d78ba35e4f21a42f892b3dce06ae6..620f30b8c4b41f7cc5cc59cdf3aebe9e0c12595d 100644 (file)
@@ -13,7 +13,7 @@ USING: namespaces ;
 
 : (io-error) errno strerror throw ;
 
-: check-null ( n -- ) dup 0 = [ (io-error) ] when ;
+: check-null ( n -- ) 0 = [ (io-error) ] when ;
 
 : io-error ( n -- ) 0 < [ (io-error) ] when ;
 
index 099f38ce42736c9aec4572f02949e40488b5788a..7c7714fba1c64e8442b4e6dc85c885ff24e9453c 100644 (file)
@@ -4,7 +4,7 @@
 ! We need to fiddle with the exact search order here, since
 ! unix-internals::accept shadows streams::accept.
 IN: io-internals
-USING: namespaces streams threads unparser ;
+USING: errors namespaces streams threads unparser ;
 USING: alien generic kernel math unix-internals ;
 
 : init-sockaddr ( port -- sockaddr )
@@ -15,8 +15,10 @@ USING: alien generic kernel math unix-internals ;
 : client-sockaddr ( host port -- sockaddr )
     #! Error handling here
     init-sockaddr [
-        >r gethostbyname dup [ "Host lookup failed" ] unless
-        hostent-addr dup check-null r> set-sockaddr-in-addr
+        >r gethostbyname dup [
+            "Host lookup failed" throw
+        ] unless hostent-addr dup check-null
+        r> set-sockaddr-in-addr
     ] keep ;
 
 : socket-fd ( -- socket )