Doh!  Thanks!  Didn't mean to imply it was a problem with ruby, I'm just a
crappy coder :)

-david

----- Original Message -----
From: "ts" <decoux / moulon.inra.fr>
To: "ruby-talk ML" <ruby-talk / ruby-lang.org>
Cc: <ruby-talk / ruby-lang.org>
Sent: Thursday, May 24, 2001 6:10 AM
Subject: [ruby-talk:15664] Re: more fun with TCPServer


> >>>>> "D" == David Thiel <dthiel / nexprise.com> writes:
>
> D> Is this a problem with gets or threading?
>
>  No, with your source :-)
>
> D> while (session = server.accept)
> D>     users << User.new(session)
> D>       users.last.thread = Thread.new(users.last) { |user|
>                                                        ^^^^
> D>         user.linenum = users.length
> D>         user.address = user.socket.addr
> D>         puts "connected: #{user.to_s}"
> D>         until user.socket.eof
>                  ^^^^
> D>           input = user.socket.gets
> D>           puts input
> D>           users.each {|user| user.write(input) }
>                           ^^^^
>
>  You re-use the same variable and erase its content, write it
>
>             users.each {|new_user| new_user.write(input) }
>
> D>         end
> D>         users.delete_at(user.linenum - 1)
> D>         user.socket.close
> D>       }
> D> end
>
>
>
> Guy Decoux
>
>