From: "Sandor Szücs" Date: 2009-05-17T06:33:20+09:00 Subject: Re: "Too many open files - socket(2)" when invoking Socket.new On 13.05.2009, at 16:41, Clemens Wyss wrote: > Given the follwing code snippet: > > > require 'socket' > include Socket::Constants begin > > socket = Socket.new( AF_INET, SOCK_STREAM, 0 ) > sockaddr = Socket.pack_sockaddr_in( 1313, 'localhost' ) > socket.bind( sockaddr ) > socket.listen( 5 ) > client, client_sockaddr = socket.accept > client.puts "Hello from script one!" > puts "The client said, '#{client.readline.chomp}'" > client.puts "Hello from script one!" ensure > > socket.close end Try to add these statements in your code and reboot your box, then it should not happen. > On my WinXP development machine this script runs as expected. > Running it > on a WinXpEmbedded machine throws a > Too many open files - socket(2) (Errno::EMFILE) > exception on the line > socket = Socket.new( AF_INET, SOCK_STREAM, 0 ) > What could cause this exception? Too many open files for your OS results in such an exception. regards, Sandor Szücs --