Hi,


On Tue, Oct 14, 2008 at 04:26:20PM +0900, Antonin Amand wrote:
> 
> 
> On Oct 14, 8:34?am, Vladimir Fekete <fek... / melkor.dnp.fmph.uniba.sk>
> wrote:
> > On Tue, Oct 14, 2008 at 03:30:05PM +0900, Robert Klemme wrote:
> > > On 14.10.2008 07:47, Vladimir Fekete wrote:
> >
> > > >when I tested it it worked. But when I tried to run it again I've got error
> > > >message:
> >
> > > >/t1.rb:10:in `bind': Address already in use - bind(2) (Errno::EADDRINUSE)
> > > > ? ? ? ?from ./t1.rb:10
> >
> > > >I tried to find "related" bug/problem in google but withouth success.
> > > >Could anybody
> > > >help me how to "unbind" socket ? Or explain me where I making mistake. I
> > > >have
> > > >some experiences only with WinSock API and I don't remember any unbind
> > > >function.
> >
> > > >P.S. I'm running it on Debian Linux, Ruby version 1.8.
> >
> > > I remember that on some OS (or particular versions) socket cleanout is
> > > delayed. ?Did you try to check with "netstat -a -n | fgrep 2201" or
> > > similar to see what state the port is in?
> >
> > Yes you are right, after circa 5 minutes it works again. So you say it is
> > problem (issue) of OS and not ruby, yes ?
> 
> If you want to reuse the port you must set this flag on the socket
> before you bind it.
> When you use this kind of option you must ensure that you can't run
> multiple instances of the program.
> Use a lock file or something.
> 
>   socket.setsockopt(Socket::SOL_SOCKET,Socket::SO_REUSEADDR, true)

nope, no help. I still have to wait.

 V.

> 
> Cheers.
> 
>