Changeset 258

Show
Ignore:
Timestamp:
12/10/07 01:11:31 (9 months ago)
Author:
gethema..@gmail.com
Message:

check in fixed backgroundrb code

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/framework/core.rb

    r257 r258  
    131131      # method opens a socket for listening 
    132132      def start_server(ip,port,t_module,&block) 
    133         # t_socket = Socket.new(Socket::AF_INET,Socket::SOCK_STREAM,0) 
    134 #         t_socket.setsockopt(Socket::SOL_SOCKET,Socket::SO_REUSEADDR,true) 
    135 #         sockaddr = Socket.sockaddr_in(port.to_i,ip) 
    136 #         t_socket.bind(sockaddr) 
    137 #         t_socket.listen(50) 
    138         #         t_socket.setsockopt(Socket::IPPROTO_TCP,Socket::TCP_NODELAY,1) 
    139  
    140         # BasicSocket.do_not_reverse_lookup = true 
    141         # configure_socket_options 
     133        BasicSocket.do_not_reverse_lookup = true 
     134        configure_socket_options 
    142135        t_socket = TCPServer.new(ip,port.to_i) 
    143         # t_socket.setsockopt(*$tcp_defer_accept_opts) rescue nil 
    144         t_socket.setsockopt(Socket::IPPROTO_TCP,Socket::TCP_NODELAY,1) 
     136        t_socket.setsockopt(*$tcp_defer_accept_opts) rescue nil 
    145137        listen_sockets[t_socket.fileno] = { :socket => t_socket,:block => block,:module => t_module } 
    146138        @read_ios << t_socket 
  • trunk/framework/nbio.rb

    r256 r258  
    1414      sock_data = "" 
    1515      begin 
    16         while(sock_data << t_sock.read_nonblock(1023)); end 
     16        while(t_data = t_sock.recv_nonblock(1023)) 
     17          raise DisconnectError.new(t_sock) if t_data.empty? 
     18          sock_data << t_data 
     19        end 
    1720      rescue Errno::EAGAIN 
    18         p sock_data 
    1921        return sock_data 
    2022      rescue 
    21         p "***************** : disconnect error" 
     23        puts "Some read error" 
    2224        raise DisconnectError.new(t_sock) 
    2325      end