10 More Discussions You Might Find Interesting
1. Programming
hi,
so I am familiar with visual studio for windows, I was wondering if there's that kind of IDE for linux that I can use to make an application...
thanks! (2 Replies)
Discussion started by: h0ujun
2 Replies
2. Shell Programming and Scripting
Hi,
Newbie to Linux needing some help with scripting, here. I've written a script that allows easily shutting down, rebooting, or exiting to terminal mode via a Dialog menu after logging out of X-server. In my .bash_profile I have startx followed by running my script, shutdownmenu.sh, and it... (1 Reply)
Discussion started by: Pop45398
1 Replies
3. UNIX and Linux Applications
Hello. I need upgrade memcached. This software is installed throuth yum. In official repositories isn`t newest version of memcached, but this one is vulnerable. So looks like I need built it from source, but I dont really want to install c libraries un compilers on system.
1.) So can I compile... (0 Replies)
Discussion started by: jabalv
0 Replies
4. Programming
I'm trying to do some cleanup (write open files) when Linux shuts down. I thought the right method would be to trap SIGTERM and do the necessary processing. Here's my sample code:
#include <stdio.h> // for File I/O
#include <signal.h> // for signals
#include <unistd.h> // for sleep()
void... (6 Replies)
Discussion started by: whatisron
6 Replies
5. Advertise with Us
Optiver US LLC is a worldwide market maker and derivatives trading firm with offices in Chicago, Amsterdam and Sydney. Attracting very ambitious, talented and results-oriented individuals to become members of a highly selective trading application engineering team. This position is a primary... (0 Replies)
Discussion started by: Barb S.
0 Replies
6. AIX
Hi All,
I am currently facing new problem of migrating C(c language) application from AIX machine to Linux machine. We are using GCC to compile the source code..
But facing with the compilation issues, with lot of GCC C libs differing between AIX box to Linux box...
Pls help me... (3 Replies)
Discussion started by: karthikc
3 Replies
7. Linux
tcp communication application
i have an application which run in
1)
while()
{in
}
and listens for some request
When a request comes to create a file(containing some data fetch from somewhere)
but i also want to start some timer that after 10/20 min delete that file
But i don't know how... (0 Replies)
Discussion started by: tryit
0 Replies
8. UNIX for Dummies Questions & Answers
i need to develop application which continuously wait for a request from multiple host and on receiving a request on that need to create a log file and after 30 mins delete that file
I am new to socket programming so could anyone help me on this.
How to continuously listen for a request
How... (0 Replies)
Discussion started by: tryit
0 Replies
9. SCO
Hello Valued Members,
I was wondering if there are any Linux, BSD, versions that can run SCO 5.0.6 applications without much modification? I was looking into purchasing a copy of Caldera Openlinux, the last version, but wanted to ask if there are any other options of a newer variant. I am also... (8 Replies)
Discussion started by: stay0ut
8 Replies
10. Programming
I need port Win32 console application, which was developed with MS Visual Studio 6.0 (without MFC using) into Linux. What is the best way to port project? Are there any standard tools or decisions?
Thank you in advance,
Sergey (0 Replies)
Discussion started by: Sergeyy
0 Replies
IO::Async::Timer::Countdown(3pm) User Contributed Perl Documentation IO::Async::Timer::Countdown(3pm)
NAME
"IO::Async::Timer::Countdown" - event callback after a fixed delay
SYNOPSIS
use IO::Async::Timer::Countdown;
use IO::Async::Loop;
my $loop = IO::Async::Loop->new;
my $timer = IO::Async::Timer::Countdown->new(
delay => 10,
on_expire => sub {
print "Sorry, your time's up
";
$loop->stop;
},
);
$timer->start;
$loop->add( $timer );
$loop->run;
DESCRIPTION
This subclass of IO::Async::Timer implements one-shot fixed delays. The object implements a countdown timer, which invokes its callback
after the given period from when it was started. After it has expired the Timer may be started again, when it will wait the same period
then invoke the callback again. A timer that is currently running may be stopped or reset.
For a "Timer" object that repeatedly runs a callback at regular intervals, see instead IO::Async::Timer::Periodic. For a "Timer" that
invokes its callback at a fixed time in the future, see IO::Async::Timer::Absolute.
EVENTS
The following events are invoked, either using subclass methods or CODE references in parameters:
on_expire
Invoked when the timer expires.
PARAMETERS
The following named parameters may be passed to "new" or "configure":
on_expire => CODE
CODE reference for the "on_expire" event.
delay => NUM
The delay in seconds after starting the timer until it expires. Cannot be changed if the timer is running. A timer with a zero
delay expires "immediately".
remove_on_expire => BOOL
Optional. If true, remove this timer object from its parent notifier or containing loop when it expires. Defaults to false.
Once constructed, the timer object will need to be added to the "Loop" before it will work. It will also need to be started by the "start"
method.
METHODS
$expired = $timer->is_expired
Returns true if the Timer has already expired.
$timer->reset
If the timer is running, restart the countdown period from now. If the timer is not running, this method has no effect.
EXAMPLES
Watchdog Timer
Because the "reset" method restarts a running countdown timer back to its full period, it can be used to implement a watchdog timer. This
is a timer which will not expire provided the method is called at least as often as it is configured. If the method fails to be called, the
timer will eventually expire and run its callback.
For example, to expire an accepted connection after 30 seconds of inactivity:
...
on_accept => sub {
my ( $newclient ) = @_;
my $watchdog = IO::Async::Timer::Countdown->new(
delay => 30,
on_expire => sub {
my $self = shift;
my $stream = $self->parent;
$stream->close;
},
);
my $stream = IO::Async::Stream->new(
handle => $newclient,
on_read => sub {
my ( $self, $buffref, $eof ) = @_;
$watchdog->reset;
...
},
on_closed => sub {
$watchdog->stop;
},
) );
$stream->add_child( $watchdog );
$watchdog->start;
$loop->add( $watchdog );
}
Rather than setting up a lexical variable to store the Stream so that the Timer's "on_expire" closure can call "close" on it, the
parent/child relationship between the two Notifier objects is used. At the time the Timer "on_expire" closure is invoked, it will have been
added as a child notifier of the Stream; this means the Timer's "parent" method will return the Stream Notifier. This enables it to call
"close" without needing to capture a lexical variable, which would create a cyclic reference.
Fixed-Delay Repeating Timer
The "on_expire" event fires a fixed delay after the "start" method has begun the countdown. The "start" method can be invoked again at some
point during the "on_expire" handling code, to create a timer that invokes its code regularly a fixed delay after the previous invocation
has finished. This creates an arrangement similar to an IO::Async::Timer::Periodic, except that it will wait until the previous invocation
has indicated it is finished, before starting the countdown for the next call.
my $timer = IO::Async::Timer::Countdown->new(
delay => 60,
on_expire => sub {
my $self = shift;
start_some_operation(
on_complete => sub { $self->start },
);
},
);
$timer->start;
$loop->add( $timer );
This example invokes the "start_some_operation" function 60 seconds after the previous iteration has indicated it has finished.
AUTHOR
Paul Evans <leonerd@leonerd.org.uk>
perl v5.14.2 2012-10-24 IO::Async::Timer::Countdown(3pm)