System notice: In light of the Debian OpenSSL security issue we've regenerated the server keys. See this thread for instructions and the new key fingerprints.

Commit 6f12bdb4a54a1f397d6183f5d92580db537a447f

accept nonblocking

Commit diff

script/git-daemon

 
4343 end
4444
4545 def run
46 while session = @socket.accept
47 connections = $children_active - $children_reaped
48 if connections > MAX_CHILDREN
49 log(Process.pid, "too many active children #{connections}/#{MAX_CHILDREN}")
50 session.close
51 next
46 begin
47 while session = @socket.accept
48 connections = $children_active - $children_reaped
49 if connections > MAX_CHILDREN
50 log(Process.pid, "too many active children #{connections}/#{MAX_CHILDREN}")
51 session.close
52 next
53 end
54
55 run_service(session)
5256 end
53
54 run_service(session)
57 rescue Errno::EAGAIN, Errno::ECONNABORTED, Errno::EPROTO, Errno::EINTR
58 IO.select([@socket])
59 retry
5560 end
5661 end
5762
toggle raw diff