in reply to Re^3: select appears to ignore pending data on socket.
in thread select appears to ignore pending data on socket.

i beleive i have found the bug......

in the following section of code:-

#create new client socket object sub create_new_client_sock { #create socket my $sock = IO::Socket::INET->new( PeerAddr => $conf_file->{server}, PeerPort => $conf_file->{port}, Blocking => 0, ); #check if socket exists if (!($sock)) { die "could not establish socket to " . $conf_file->{server} . +":" . $conf_file->{port} . "\n"; } #return socker object reference return $sock; }

it would appear that if i set the socket to non-blocking, the script fails with the symptoms described. but if i set it to blocking, then it works perfectly...

i am mystified as to why, and to be frank, right now i am past caring, it has taken me all day to figure this out, including three different writes (using a while loop, event module and select).

thankyou for your patience and your help, but i think i am going to call it a day for now and try and figure out what i did wrong in the morning.

  • Comment on Re^4: select appears to ignore pending data on socket. it works now, but i dont know why.
  • Download Code