author | schurig <schurig> | 2003-06-14 06:13:10 (UTC) |
---|---|---|
committer | schurig <schurig> | 2003-06-14 06:13:10 (UTC) |
commit | 0f585a530a83683ef21e9ad082c27bed2d33aed5 (patch) (side-by-side diff) | |
tree | 88ff04e518725e28a471adae7b64f86b1fb71f82 | |
parent | 6b57a9fbe9f56e6af3911ea9337872c468b614b5 (diff) | |
download | opie-0f585a530a83683ef21e9ad082c27bed2d33aed5.zip opie-0f585a530a83683ef21e9ad082c27bed2d33aed5.tar.gz opie-0f585a530a83683ef21e9ad082c27bed2d33aed5.tar.bz2 |
fixed a path in a comment
-rw-r--r-- | core/opiealarm/opiealarm.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/core/opiealarm/opiealarm.c b/core/opiealarm/opiealarm.c index 465e633..998cabd 100644 --- a/core/opiealarm/opiealarm.c +++ b/core/opiealarm/opiealarm.c @@ -1,101 +1,101 @@ /* * opiealarm.c * * This program is for extracting the event time/date out - * of /etc/resumeat and setting the RTC alarm to that time/date. + * of /var/run/resumeat and setting the RTC alarm to that time/date. * It is designed to run via a script just before the iPAQ * is suspended and right after the iPAQ resumes operation. * * written and copyrighted by Robert Griebl <sandman@handhelds.org> */ #include <stdio.h> #include <linux/rtc.h> #include <sys/ioctl.h> #include <sys/time.h> #include <sys/types.h> #include <fcntl.h> #include <unistd.h> #include <errno.h> #include <time.h> #include <stdlib.h> #include <syslog.h> #include <signal.h> #include <errno.h> #include <string.h> #define PIDFILE "/var/run/opiealarm.pid" #define TIMEFILE "/var/run/resumeat" #define APMFILE "/proc/apm" int resume ( int resuspend ); int suspend ( int fix_rtc ); int main ( int argc, char **argv ); int fork_with_pidfile ( void ); int kill_with_pidfile ( void ); void remove_pidfile ( void ); void usage ( void ); void sig_handler_child ( int sig ); void sig_handler_parent ( int sig ); int onac ( void ); static int opiealarm_was_running; static pid_t parent_pid = 0; void sig_handler_child ( int sig ) { // child got SIGUSR2 -> cleanup pidfile and exit remove_pidfile ( ); exit ( 0 ); } void sig_handler_parent ( int sig ) { // parent got SIGUSR1 -> safe to exit now parent_pid = 0; exit ( 0 ); } void usage ( void ) { fprintf ( stderr, "Usage: opiealarm -s [-f] | -r [-a]\n\n" ); fprintf ( stderr, "\t-s\tSuspend mode: set RTC alarm\n" ); fprintf ( stderr, "\t-f \tFix RTC, if RTC and system have more than 5sec difference (suspend mode)\n" ); fprintf ( stderr, "\t-r\tResume mode: kill running opiealarm\n" ); fprintf ( stderr, "\t-a <x>\tResuspend in <x> seconds (resume mode)\n\n" ); exit ( 1 ); } int fork_with_pidfile ( void ) { FILE *fp; pid_t pid; pid = fork ( ); if ( pid > 0 ) { // We can not just exit now, because the kernel could suspend // the iPAQ just before the child process sets the RTC. // Solution: just wait for SIGUSR1 - the child process will // signal this when it thinks it is safe to exit. signal ( SIGUSR1, sig_handler_parent ); while ( 1 ) sleep ( 1000 ); exit ( 0 ); } else if ( pid < 0 ) { perror ( "forking failed" ); return 0; } // child process needs to react to SIGUSR2. This is sent when // a new opiealarm process is started. signal ( SIGUSR2, sig_handler_child ); |