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