Hi I have an app I'm writing which runs as a background process, communicating with the main app over a localhost socket. It's a little server.
the basic code looks like this: <SNIP> my $SOCK; my $sock = new IO::Socket::INET .... $SOCK = $sock.accept(); while (1) { my $line; while ($line = <$SOCK>) { # process line ... sockout($response); } } sub sockout{ print $SOCK shift.$CRLF; } <?SNIP> and this works fine. Now I want to run a thread inside this app that sends back info regularly. It needs to run in a seperate thread, and be startable and stoppable, which I have working. I don't care if the responses from the main thread and the reporter thread lines are mixed up ... ie OK report : 27 OK Ok report : 89 is fine. So I try these changes ... : my $SOCK :shared; . . . sub sockout { my $r = shift; lock ($SOCK); print $SOCK $r.$CRLF; } and just call sockout from the reporter thread. But I get this error: "Invalid value for shared scalar" when it hits $SOCK = $sock.accept(); ... and I can see why in the threads::shared docs so my q is : how do I share access to the socket between threads in the simplest way? thanks perlers! -- Daniel McBrearty email : danielmcbrearty at gmail.com www.engoi.com : the multi - language vocab trainer BTW : 0873928131 _______________________________________________ Perl-Win32-Users mailing list Perl-Win32-Users@listserv.ActiveState.com To unsubscribe: http://listserv.ActiveState.com/mailman/mysubs