#!/usr/bin/perl use strict; use warnings; use threads; use IO::Socket::UNIX; my $serv = IO::Socket::UNIX0>new( Type => SOCK_STREAM, Local => '/var/tmp/chat/serv', Listen => 1, ) or die "Problem: $!"; my $msgthr = threads->create('messenger'); $SIG{INT} = sub { $serv->shutdown(3); #this line gives a "uninitialized value" error: print STDERR "Serv status:", $serv->connected(),"\n"; #similar handler in &messenger tries to shut down #another socket, this one of type SOCK_DGRAM $msgthread->kill('TERM')->detach(); exit(0) }