11 my $debug = $ENV{DEBUG} || 0;
14 $SIG{'__WARN__'} = sub {
15 my $level = $1 if $_[0] =~ m/^(#+)/;
16 return if defined($level) && length($level) > $debug;
21 my $listen = shift @ARGV || 'localhost:2389';
23 my $sock = IO::Socket::INET->new(
28 ) || die "can't listen to $listen $!";
30 warn "# listening on $listen";
32 my $sel = IO::Select->new($sock);
34 while (my @ready = $sel->can_read) {
35 foreach my $fh (@ready) {
37 # let's create a new socket
38 my $psock = $sock->accept;
39 $psock->sockopt(SO_KEEPALIVE,1);
41 $Handlers{*$psock} = LDAP::Koha->new($psock);
43 my $result = $Handlers{*$fh}->handle;
45 # we have finished with the socket
48 delete $Handlers{*$fh};