Module: TriggerSwitchD::IPC
- Defined in:
- lib/trigger_switch_d/ipc.rb
Class Method Summary collapse
-
.create(socket_path) ⇒ Object
unix socket thread, see README.rdoc for usage.
Class Method Details
.create(socket_path) ⇒ Object
unix socket thread, see README.rdoc for usage
21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 |
# File 'lib/trigger_switch_d/ipc.rb', line 21 def self.create(socket_path) File.delete(socket_path) if File.exist? socket_path sock = UNIXServer.open(socket_path) Thread.start(sock) do |sock| while(!["stop"].include?(Thread.current["received"])) Thread.current["received"] = "" s1 = sock.accept while(!["stop","bye"].include?(Thread.current["received"])) Thread.current["received"] = s1.recvfrom(200)[0] Thread.current["response"] = Thread.current["received"] if Thread.current["received"] == "bye" Thread.stop if !["bye",""].include?(Thread.current["received"]) s1.send(Thread.current["response"],0) unless Thread.current["received"] == "" Thread.current["received"] = "bye" if Thread.current["received"] == "" end end end end |