Hello list, I am writing a daemon. I have a daemon that it check a folder and then throws both threads exist as files. It's well, the problem is that each thread need it ends at a certain time (defined by default). If this does not complete the work to be cancelled. For example, if it is making a connection to a website and it does not respond in 2 minutes, until the process completes and the thread too, running a particular code before.
I was looking like doing and I did not find anything. Any thoughts on how to do that My source code is: #!/usr/bin/perl -w use strict; use warnings; use AnyData; use Sys::Syslog qw(:standard :macros); use POSIX qw(setsid); use threads; use threads::shared; sub mail { sleep(2); syslog LOG_INFO, "thread for mail"; my $file_name = shift; ... # If you spent 2 min, canceled # source cancel syslog LOG_INFO, "Surpassed time"; # else syslog LOG_INFO, "Process completed"; } sub scan_files { my $DIR = "workq/"; while(1) { opendir(DIRHANDLE, $DIR) || die "ERROR: $DIR not read\n"; foreach (readdir(DIRHANDLE)) { if (!-d $_) { threads->new(\&mail, $_); } } closedir DIRHANDLE; sleep(10); } } ... ... ... -- A greeting, Javier.