blob: 65b285fa86cadd0e0e61df7e115b234e88ff574d (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
|
require 'socket'
# Open a socket.
socket = TCPServer.open('0.0.0.0', 8080)
# Preload app code.
# require 'config/environment'
# Forward any relevant signals to the child processes.
[:INT, :QUIT].each do |signal|
Signal.trap(signal) {
wpids.each { |wpid| Process.kill(signal, wpid) }
}
end
# For keeping track of child process pids.
wpids = []
5.times {
wpids << fork do
loop {
connection = socket.accept
connection.puts 'Hello Readers!'
connection.close
}
end
}
Process.waitall
|