 USING: accessors assocs calendar combinators concurrency.flags
 debugger destructors environment fry init io io.backend
 io.encodings io.encodings.utf8 io.pipes io.pipes.private
-io.ports io.streams.duplex io.timeouts kernel namespaces
-prettyprint sequences strings system threads vocabs ;
+io.ports io.streams.duplex io.timeouts kernel math math.order
+namespaces prettyprint sequences strings system threads vocabs ;
 
 IN: io.launcher
 

    >>handle
    V{ } clone swap processes get set-at
    wait-flag get-global raise-flag ;

: pass-environment? ( process -- ? )
    dup environment>> assoc-empty? not

    [ [ stream-contents ] [ dup (wait-for-process) ] bi* ] with-timeout
    0 = [ 2drop ] [ output-process-error ] if ;

{
    { [ os unix? ] [ "io.launcher.unix" require ] }
    { [ os windows? ] [ "io.launcher.windows" require ] }
