Methods
- A
- C
- N
- O
- P
- S
- T
- U
Constants
Max_try | = | 10 |
import from tempfile.rb |
Class Public methods
new(uri, soc, config={}, server_mode = false)
Link
open(uri, config)
Link
open_server(uri, config)
Link
# File ../ruby/lib/drb/unix.rb, line 28 def self.open_server(uri, config) filename, = parse_uri(uri) if filename.size == 0 soc = temp_server filename = soc.path uri = 'drbunix:' + soc.path else soc = UNIXServer.open(filename) end owner = config[:UNIXFileOwner] group = config[:UNIXFileGroup] if owner || group require 'etc' owner = Etc.getpwnam( owner ).uid if owner group = Etc.getgrnam( group ).gid if group File.chown owner, group, filename end mode = config[:UNIXFileMode] File.chmod(mode, filename) if mode self.new(uri, soc, config, true) end
parse_uri(uri)
Link
uri_option(uri, config)
Link
Class Private methods
temp_server()
Link
# File ../ruby/lib/drb/unix.rb, line 66 def self.temp_server tmpdir = Dir::tmpdir n = 0 while true begin tmpname = sprintf('%s/druby%d.%d', tmpdir, $$, n) lock = tmpname + '.lock' unless File.exist?(tmpname) or File.exist?(lock) Dir.mkdir(lock) break end rescue raise "cannot generate tempfile `%s'" % tmpname if n >= Max_try #sleep(1) end n += 1 end soc = UNIXServer.new(tmpname) Dir.rmdir(lock) soc end
Instance Public methods
accept()
Link
close()
Link