REDROOM
PHP 8.2.31
Path:
Logout
Edit File
Size: 1.77 KB
Close
/proc/thread-self/root/opt/alt/ruby24/lib64/ruby/2.4.0/drb/extservm.rb
Text
Base64
# frozen_string_literal: false =begin external service manager Copyright (c) 2000 Masatoshi SEKI =end require 'drb/drb' require 'thread' require 'monitor' module DRb class ExtServManager include DRbUndumped include MonitorMixin @@command = {} def self.command @@command end def self.command=(cmd) @@command = cmd end def initialize super() @cond = new_cond @servers = {} @waiting = [] @queue = Thread::Queue.new @thread = invoke_thread @uri = nil end attr_accessor :uri def service(name) synchronize do while true server = @servers[name] return server if server && server.alive? # server may be `false' invoke_service(name) @cond.wait end end end def regist(name, ro) synchronize do @servers[name] = ro @cond.signal end self end def unregist(name) synchronize do @servers.delete(name) end end private def invoke_thread Thread.new do while true name = @queue.pop invoke_service_command(name, @@command[name]) end end end def invoke_service(name) @queue.push(name) end def invoke_service_command(name, command) raise "invalid command. name: #{name}" unless command synchronize do return if @servers.include?(name) @servers[name] = false end uri = @uri || DRb.uri if command.respond_to? :to_ary command = command.to_ary + [uri, name] pid = spawn(*command) else pid = spawn("#{command} #{uri} #{name}") end th = Process.detach(pid) th[:drb_service] = name th end end end
Save
Close
Exit & Reset
Text mode: syntax highlighting auto-detects file type.
Directory Contents
Dirs: 0 × Files: 11
Delete Selected
Select All
Select None
Sort:
Name
Size
Modified
Enable drag-to-move
Name
Size
Perms
Modified
Actions
acl.rb
4.36 KB
lrw-r--r--
2020-03-31 11:42:18
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
drb.rb
56.50 KB
lrw-r--r--
2020-03-31 11:42:18
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
eq.rb
275 B
lrw-r--r--
2020-03-31 11:42:18
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
extserv.rb
831 B
lrw-r--r--
2020-03-31 11:42:18
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
extservm.rb
1.77 KB
lrw-r--r--
2020-03-31 11:42:18
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
gw.rb
3.00 KB
lrw-r--r--
2020-03-31 11:42:18
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
invokemethod.rb
777 B
lrw-r--r--
2020-03-31 11:42:18
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
observer.rb
667 B
lrw-r--r--
2020-03-31 11:42:18
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
ssl.rb
11.58 KB
lrw-r--r--
2020-03-31 11:42:18
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
timeridconv.rb
2.16 KB
lrw-r--r--
2020-03-31 11:42:18
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
unix.rb
2.75 KB
lrw-r--r--
2020-03-31 11:42:18
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
Zip Selected
If ZipArchive is unavailable, a
.tar
will be created (no compression).