diff --git a/extra/cabal/cabal.factor b/extra/cabal/cabal.factor index 278729fb8a..cc51bcf308 100644 --- a/extra/cabal/cabal.factor +++ b/extra/cabal/cabal.factor @@ -69,13 +69,15 @@ cond ; ! : handle-client ( client -- ) dup users> push ! dup [ >user [ handle-user-loop ] with-stream* ] with-scope ; -: handle-client ( client -- ) dup users> push +: handle-client ( client -- ) + dup users> push dup [ >user [ handle-user-loop ] with-stream ] with-scope ; ! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! : accept-client-loop ( server -- ) -dup >r accept [ handle-client ] in-thread r> accept-client-loop ; +[ accept [ handle-client ] curry in-thread ] keep +accept-client-loop ; ! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!