diff options
author | shyouhei <shyouhei@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2008-07-07 07:38:25 +0000 |
---|---|---|
committer | shyouhei <shyouhei@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2008-07-07 07:38:25 +0000 |
commit | 9ff1e787f915539b1980654e3d3d2013ff5c81d2 (patch) | |
tree | 8d0fc9ca5b4dbfa9885dc56862292d55091bcaac /ruby_1_8_6/lib/webrick/utils.rb | |
parent | 441546edcfbb1b346c87b69c5f578d1a0e522e06 (diff) |
wrong commit; sorryv1_8_6_269
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/tags/v1_8_6_269@17938 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'ruby_1_8_6/lib/webrick/utils.rb')
-rw-r--r-- | ruby_1_8_6/lib/webrick/utils.rb | 100 |
1 files changed, 0 insertions, 100 deletions
diff --git a/ruby_1_8_6/lib/webrick/utils.rb b/ruby_1_8_6/lib/webrick/utils.rb deleted file mode 100644 index cf9da6f2ce..0000000000 --- a/ruby_1_8_6/lib/webrick/utils.rb +++ /dev/null @@ -1,100 +0,0 @@ -# -# utils.rb -- Miscellaneous utilities -# -# Author: IPR -- Internet Programming with Ruby -- writers -# Copyright (c) 2001 TAKAHASHI Masayoshi, GOTOU Yuuzou -# Copyright (c) 2002 Internet Programming with Ruby writers. All rights -# reserved. -# -# $IPR: utils.rb,v 1.10 2003/02/16 22:22:54 gotoyuzo Exp $ - -require 'socket' -require 'fcntl' -begin - require 'etc' -rescue LoadError - nil -end - -module WEBrick - module Utils - def set_non_blocking(io) - flag = File::NONBLOCK - if defined?(Fcntl::F_GETFL) - flag |= io.fcntl(Fcntl::F_GETFL) - end - io.fcntl(Fcntl::F_SETFL, flag) - end - module_function :set_non_blocking - - def set_close_on_exec(io) - if defined?(Fcntl::FD_CLOEXEC) - io.fcntl(Fcntl::FD_CLOEXEC, 1) - end - end - module_function :set_close_on_exec - - def su(user) - if defined?(Etc) - pw = Etc.getpwnam(user) - Process::initgroups(user, pw.gid) - Process::Sys::setgid(pw.gid) - Process::Sys::setuid(pw.uid) - else - warn("WEBrick::Utils::su doesn't work on this platform") - end - end - module_function :su - - def getservername - host = Socket::gethostname - begin - Socket::gethostbyname(host)[0] - rescue - host - end - end - module_function :getservername - - def create_listeners(address, port, logger=nil) - unless port - raise ArgumentError, "must specify port" - end - res = Socket::getaddrinfo(address, port, - Socket::AF_UNSPEC, # address family - Socket::SOCK_STREAM, # socket type - 0, # protocol - Socket::AI_PASSIVE) # flag - last_error = nil - sockets = [] - res.each{|ai| - begin - logger.debug("TCPServer.new(#{ai[3]}, #{port})") if logger - sock = TCPServer.new(ai[3], port) - port = sock.addr[1] if port == 0 - Utils::set_close_on_exec(sock) - sockets << sock - rescue => ex - logger.warn("TCPServer Error: #{ex}") if logger - last_error = ex - end - } - raise last_error if sockets.empty? - return sockets - end - module_function :create_listeners - - RAND_CHARS = "ABCDEFGHIJKLMNOPQRSTUVWXYZ" + - "0123456789" + - "abcdefghijklmnopqrstuvwxyz" - - def random_string(len) - rand_max = RAND_CHARS.size - ret = "" - len.times{ ret << RAND_CHARS[rand(rand_max)] } - ret - end - module_function :random_string - - end -end |