     client.connected conn
 
   start: (port) ->
-    return if @proc?
     client.booting()
     @checkPath @jlpath()
       .then =>

                                         -wrapPort #{@wrapPort}
                                         -jlpath \"#{@jlpath()}\"
                                         -boot \"#{@script 'boot.jl'}\""])
            fn @proc
          return
        else
          client.stderr "PowerShell version < 3 encountered. Running without wrapper (interrupts won't work)."
      @proc = child_process.spawn(@jlpath(), ["-i", @script("boot.jl"), port], cwd: workingdir)
      fn @proc

  getFreePort: (fn) ->
    server = net.createServer()

    conn.proc.on 'exit', (code, signal) =>
      client.stderr "Julia has stopped"
      if not @useWrapper then client.stderr ": #{code}, #{signal}"
      client.cancelBoot()
    conn.proc.stdout.on 'data', (data) => client.stdout data.toString()
    conn.proc.stderr.on 'data', (data) =>
