lib/ftpd/server.rb in ftpd-0.0.0.pre2 vs lib/ftpd/server.rb in ftpd-0.0.1.pre

- old
+ new

@@ -37,17 +37,23 @@ rescue Errno::EAGAIN, Errno::ECONNABORTED, Errno::EPROTO, Errno::EINVAL IO.select([@server_socket]) sleep(0.2) retry end - begin - session(socket) - ensure - socket.close - end + start_session_thread socket rescue IOError break end + end + end + end + + def start_session_thread(socket) + Thread.new do + begin + session(socket) + ensure + socket.close end end end def accept