Diff for /libaitsched/example/test.c between versions 1.14.30.2 and 1.16

version 1.14.30.2, 2023/02/24 16:20:06 version 1.16, 2026/05/19 15:53:56
Line 15  intptr_t Kill[1]; Line 15  intptr_t Kill[1];
 #ifdef AIO_SUPPORT  #ifdef AIO_SUPPORT
 struct iovec iv[3], wiv[3], riv[3];  struct iovec iv[3], wiv[3], riv[3];
 #endif  #endif
   volatile uint64_t total;
   
 void *event(sched_task_t *arg)  void *event(sched_task_t *arg)
 {  {
Line 136  void sig(int s) Line 137  void sig(int s)
 {  {
         switch (s) {          switch (s) {
                 case SIGTERM:                  case SIGTERM:
                   case SIGINT:
                           printf("I'm in switch case %d\n", s);
                         Kill[0]++;                          Kill[0]++;
                         break;                          break;
                 case SIGHUP:                  case SIGHUP:
Line 156  void *sigt(sched_task_t *arg) Line 159  void *sigt(sched_task_t *arg)
         taskExit(arg, NULL);          taskExit(arg, NULL);
 }  }
   
   static void*
   prof(void *task, void *stage)
   {
           sched_task_t *t = task;
           struct timespec ts;
           static volatile uint64_t ns;
   
           clock_gettime(CLOCK_MONOTONIC, &ts);
           if (!stage)
                   ns = (uint64_t) ts.tv_sec * 1000000000LL + ts.tv_nsec;
           else {
                   ns = (uint64_t) ts.tv_sec * 1000000000LL + ts.tv_nsec - ns;
                   printf("Task ran for %lu ns: id=%p type=%d call=%p -> #%ld\n", ns,
                                   TASK_ID(t), TASK_TYPE(t), TASK_FUNC(t), TASK_RET(t));
   
                   total += ns;
           }
   
           return NULL;
   }
   
 int  int
 main(int argc, char **argv)  main(int argc, char **argv)
 {  {
Line 163  main(int argc, char **argv) Line 187  main(int argc, char **argv)
         int f, fd;          int f, fd;
         struct sockaddr_in sin;          struct sockaddr_in sin;
         struct timespec ts = { 20, 0 };          struct timespec ts = { 20, 0 };
//        struct timespec p = { 0, 10000000 };        struct timespec p = { 0, 10000000 };
 //      struct sigaction sa;  //      struct sigaction sa;
         sched_task_t *t;          sched_task_t *t;
 #ifdef AIO_SUPPORT  #ifdef AIO_SUPPORT
Line 200  main(int argc, char **argv) Line 224  main(int argc, char **argv)
                 return 1;                  return 1;
         }          }
   
           if (argc > 1)
                   ROOT_PROFILING(root, prof);
   
         if (!schedTimer(root, timer, (void*) (intptr_t) ts.tv_sec, ts, NULL, 0)) {          if (!schedTimer(root, timer, (void*) (intptr_t) ts.tv_sec, ts, NULL, 0)) {
                 printf("Error:: #%d - %s\n", sched_GetErrno(), sched_GetError());                  printf("Error:: #%d - %s\n", sched_GetErrno(), sched_GetError());
                 return 4;                  return 4;
Line 317  main(int argc, char **argv) Line 344  main(int argc, char **argv)
         schedSignal(root, sigt, NULL, SIGTERM, NULL, 0);          schedSignal(root, sigt, NULL, SIGTERM, NULL, 0);
         schedSignal(root, sigt, NULL, SIGINT, NULL, 0);          schedSignal(root, sigt, NULL, SIGINT, NULL, 0);
   
//        schedPolling(root, &p, NULL);        schedPolling(root, &p, NULL);
         schedSignalDispatch(root, 42);          schedSignalDispatch(root, 42);
         schedRun(root, Kill);          schedRun(root, Kill);
         schedSignalDispatch(root, 0);          schedSignalDispatch(root, 0);
Line 331  main(int argc, char **argv) Line 358  main(int argc, char **argv)
   
         close(fd);          close(fd);
         close(f);          close(f);
   
           if (argc > 1)
                   printf("Total spend of time for all tasks = %lu\n", total);
         return 0;          return 0;
 }  }

Removed from v.1.14.30.2  
changed lines
  Added in v.1.16


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>