OSDN Git Service

mutex_watchdog added
authornabeken <nabeken@b8c68f68-1e22-0410-b08e-880e1f8202b4>
Sun, 4 Jul 2004 13:17:30 +0000 (13:17 +0000)
committernabeken <nabeken@b8c68f68-1e22-0410-b08e-880e1f8202b4>
Sun, 4 Jul 2004 13:17:30 +0000 (13:17 +0000)
shogi-server

index 543a0f5..6dd9c17 100755 (executable)
@@ -927,8 +927,26 @@ def  write_pid_file(file)
   end
 end
 
+def mutex_watchdog(mutex, sec)
+  while true
+    begin
+      timeout(sec) do
+        mutex.lock
+        mutex.unlock
+      end
+    rescue TimeoutError
+      log_error("mutex watchdog timeout")
+      exit(1)
+    end
+  end
+end
+
 def main
   $mutex = Mutex::new
+  Thread::start do
+    mutex_watchdog($mutex, 10)
+  end
+
   $options = parse_command_line
   if (ARGV.length != 2)
     usage