Mark signals to be called when signal happens.
[silc.git] / lib / silcutil / tests / test_silcschedule.c
index 111f072749d027fdec2c0de76dac96db5b775766..8afbc9da5eef81f692143765b3aa3d45ccb4e40a 100644 (file)
@@ -71,6 +71,12 @@ SILC_TASK_CALLBACK(start)
   silc_schedule_task_add_timeout(schedule, cont, (void *)i, 0, 100);
 }
 
+SILC_TASK_CALLBACK(interrupt)
+{
+  SILC_LOG_DEBUG(("SIGINT signal"));
+  silc_schedule_stop(schedule);
+}
+
 int main(int argc, char **argv)
 {
   SilcBool success = FALSE;
@@ -87,6 +93,8 @@ int main(int argc, char **argv)
   if (!schedule)
     goto err;
 
+  silc_schedule_task_add_signal(schedule, SIGINT, interrupt, NULL);
+
   silc_schedule_task_add_timeout(schedule, start, NULL, 0, 1);
 
   SILC_LOG_DEBUG(("Running scheduler"));