class DEBUGGER__::UI_ServerBase
def sock skip: false
def sock skip: false if s = @sock # already connection # ok elsif skip == true # skip process no_sock = true r = @accept_m.synchronize do if @sock no_sock = false else yield nil end end return r if no_sock else # wait for connection until s = @sock @accept_m.synchronize{ unless @sock DEBUGGER__.warn "wait for debugger connection..." @accept_cv.wait(@accept_m) end } end end yield s rescue Errno::EPIPE # ignore end