Beefy Boxes and Bandwidth Generously Provided by pair Networks
Do you know where your variables are?
 
PerlMonks  

Re^2: ctrl + c on Win32 (signal handling)

by remiah (Hermit)
on Aug 26, 2011 at 14:35 UTC ( [id://922654]=note: print w/replies, xml ) Need Help??


in reply to Re: ctrl + c on Win32 (signal handling)
in thread ctrl + c on Win32 (signal handling)

Waking up once a second will improve your response time and cause negligible extra cpu usage.
I see... I can get quicker resonse. This seems good compromize for me.
But I suspect that in your real code you are wanting to do more in the while than just sleep?
Yes. What I do in real "while loop" is like this.

1. sleep 30 seconds
2. check database
3. image conversions if there is records


Thanks for your advice.
  • Comment on Re^2: ctrl + c on Win32 (signal handling)

Replies are listed 'Best First'.
Re^3: ctrl + c on Win32 (signal handling)
by remiah (Hermit) on Aug 26, 2011 at 21:06 UTC
    I found Term::ReadKey can capture ctrl + c on windows
    use strict; use warnings; use Term::ReadKey; ReadMode "raw"; #raw can capture ctrl + c while(1){ print "prompt>\n"; #sleep 30 seconds my $char = ReadKey 30; next if (! defined $char); if (ord $char == 3 ){ print "control + c\n"; last; } #check database #process image } ReadMode "restore";
    If I pressed ctrl + c while processing something, it will abort. So if I could write like this... (there seems no such function like "BindEvent").
    ReadMode "raw"; #raw can capture ctrl + c BindEvent "keypress", sub { my ($keycode) = @_; if ($keycode == 3){ ReadMode "restore"; #disconnect database exit; } }; #main loop while(1){ ReadKey 30; #check database #process images } ReadMode "restore";
    regards.

    updated:
    I read about Glib main loop,  Re: Perl Hotkey/Shortcut. I'll try it after I sleep several hours;

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://922654]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others scrutinizing the Monastery: (4)
As of 2024-04-25 20:53 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found