diff --git a/TODO.FACTOR.txt b/TODO.FACTOR.txt index b9defe17fa..ae1ec6d012 100644 --- a/TODO.FACTOR.txt +++ b/TODO.FACTOR.txt @@ -30,3 +30,4 @@ - 0.0/0.0 next-power-of-2 never terminates -- comparison always returns false - 0.0/0.0 >fixnum . -> 0 0.0/0.0 >bignum . -> 0 +- httpd crash diff --git a/library/collections/tree-each.factor b/library/collections/tree-each.factor index 7f12916f81..64cf913bf2 100644 --- a/library/collections/tree-each.factor +++ b/library/collections/tree-each.factor @@ -1,7 +1,7 @@ ! Copyright (C) 2005, 2006 Slava Pestov. ! See http://factor.sf.net/license.txt for BSD license. IN: sequences -USING: generic kernel lists strings ; +USING: generic kernel lists strings sequences-internals ; G: tree-each* ( obj quot -- | quot: elt -- ) [ over ] standard-combination ; inline diff --git a/library/unix/sockets.factor b/library/unix/sockets.factor index efa6829758..20e5e32ca0 100644 --- a/library/unix/sockets.factor +++ b/library/unix/sockets.factor @@ -26,9 +26,7 @@ threads unix-internals ; : with-socket-fd ( quot -- fd | quot: socket -- n ) socket-fd [ swap call ] keep swap 0 < [ - err_no EINPROGRESS = [ - dup close -1 io-error - ] unless + err_no EINPROGRESS = [ dup close (io-error) ] unless ] when ; inline : client-socket ( host port -- fd )