]> git.saurik.com Git - apple/ipsec.git/blobdiff - ipsec-tools/racoon/schedule.c
ipsec-146.1.tar.gz
[apple/ipsec.git] / ipsec-tools / racoon / schedule.c
index fe82c30ddea260b4076125c8a1698e02f7489dd2..50b186583944a6d55bc8b5613fa6be8741df35bc 100644 (file)
@@ -50,6 +50,7 @@
 #include "schedule.h"
 #include "var.h"
 #include "gcmalloc.h"
+#include "power_mgmt.h"
 
 #if !defined(__LP64__)
 // year 2038 problem and fix for 32-bit only
@@ -73,7 +74,6 @@ static time_t deltaY2038;
 static TAILQ_HEAD(_schedtree, sched) sctree;
 
 static void sched_add __P((struct sched *));
-static time_t current_time __P((void));
 
 /*
  * schedule handler
@@ -87,6 +87,12 @@ schedular()
        time_t now, delta;
        struct sched *p, *next = NULL;
 
+       if (slept_at || woke_at) {
+               plog(LLV_DEBUG, LOCATION, NULL,
+                        "ignoring schedular until power-mgmt event is handled.\n");
+               return NULL;
+       }
+
        now = current_time();
 
        for (p = TAILQ_FIRST(&sctree); p; p = next) {
@@ -180,7 +186,7 @@ sched_add(sc)
  * if defined FIXY2038PROBLEM, base time is the time when called sched_init().
  * Otherwise, conform to time(3).
  */
-static time_t
+time_t
 current_time()
 {
        time_t n;