Diff for /libaitsched/src/aitsched.c between versions 1.22 and 1.25

version 1.22, 2013/11/14 21:37:27 version 1.25, 2014/04/27 16:20:37
Line 12  terms: Line 12  terms:
 All of the documentation and software included in the ELWIX and AITNET  All of the documentation and software included in the ELWIX and AITNET
 Releases is copyrighted by ELWIX - Sofia/Bulgaria <info@elwix.org>  Releases is copyrighted by ELWIX - Sofia/Bulgaria <info@elwix.org>
   
Copyright 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013Copyright 2004 - 2014
         by Michael Pounov <misho@elwix.org>.  All rights reserved.          by Michael Pounov <misho@elwix.org>.  All rights reserved.
   
 Redistribution and use in source and binary forms, with or without  Redistribution and use in source and binary forms, with or without
Line 102  schedRegisterHooks(sched_root_task_t * __restrict root Line 102  schedRegisterHooks(sched_root_task_t * __restrict root
         root->root_hooks.hook_add.read = sched_hook_read;          root->root_hooks.hook_add.read = sched_hook_read;
         root->root_hooks.hook_add.write = sched_hook_write;          root->root_hooks.hook_add.write = sched_hook_write;
         root->root_hooks.hook_add.alarm = sched_hook_alarm;          root->root_hooks.hook_add.alarm = sched_hook_alarm;
#if defined(HAVE_TIMER_CREATE) && defined(HAVE_TIMER_SETTIME)#if defined(HAVE_TIMER_CREATE) && defined(HAVE_TIMER_SETTIME) && defined(HAVE_TIMER_DELETE)
         root->root_hooks.hook_add.rtc = sched_hook_rtc;          root->root_hooks.hook_add.rtc = sched_hook_rtc;
 #endif  #endif
         root->root_hooks.hook_add.node = sched_hook_node;          root->root_hooks.hook_add.node = sched_hook_node;
Line 335  schedFetch(sched_root_task_t * __restrict root) Line 335  schedFetch(sched_root_task_t * __restrict root)
 int  int
 schedTrigger(sched_task_t * __restrict task)  schedTrigger(sched_task_t * __restrict task)
 {  {
   #ifdef KQ_DISABLE
           sched_SetErr(ENOTSUP, "disabled kqueue support");
           return -1;
   #else
 #ifndef EVFILT_USER  #ifndef EVFILT_USER
         sched_SetErr(ENOTSUP, "Not supported kevent() filter");          sched_SetErr(ENOTSUP, "Not supported kevent() filter");
         return -1;          return -1;
Line 357  schedTrigger(sched_task_t * __restrict task) Line 361  schedTrigger(sched_task_t * __restrict task)
   
         return 0;          return 0;
 #endif  #endif
   #endif  /* KQ_DISABLE */
 }  }
   
 /*  /*
Line 441  schedQuery(sched_task_t * __restrict task) Line 446  schedQuery(sched_task_t * __restrict task)
  * @type = query from queue type, if =taskMAX query same task from all queues   * @type = query from queue type, if =taskMAX query same task from all queues
  * @criteria = find task by criteria    * @criteria = find task by criteria 
  *      [ CRITERIA_ANY|CRITERIA_CALL|CRITERIA_ARG|CRITERIA_FD|CRITERIA_VAL|   *      [ CRITERIA_ANY|CRITERIA_CALL|CRITERIA_ARG|CRITERIA_FD|CRITERIA_VAL|
 *              CRITERIA_ID|CRITERIA_TS|CRITERIA_DATA ] *              CRITERIA_ID|CRITERIA_TS|CRITERIA_DATA|CRITERIA_DATLEN ]
  * @param = search parameter   * @param = search parameter
  * return: -1 error, 0 found or 1 not found   * return: -1 error, 0 found or 1 not found
  */   */
Line 575  schedQueryby(sched_root_task_t * __restrict root, sche Line 580  schedQueryby(sched_root_task_t * __restrict root, sche
                                 if (TASK_DATA(task) == param)                                  if (TASK_DATA(task) == param)
                                         return 0;       /* found */                                          return 0;       /* found */
                                 break;                                  break;
                           case CRITERIA_DATLEN:
                                   if (TASK_DATLEN(task) == (size_t) param)
                                           return 0;       /* found */
                                   break;
                         default:                          default:
                                 sched_SetErr(EINVAL, "Invalid parameter criteria %d",                                   sched_SetErr(EINVAL, "Invalid parameter criteria %d", 
                                                 criteria);                                                  criteria);
Line 677  schedCancel(sched_task_t * __restrict task) Line 686  schedCancel(sched_task_t * __restrict task)
  * @type = cancel from queue type, if =taskMAX cancel same task from all queues   * @type = cancel from queue type, if =taskMAX cancel same task from all queues
  * @criteria = find task by criteria    * @criteria = find task by criteria 
  *      [ CRITERIA_ANY|CRITERIA_CALL|CRITERIA_ARG|CRITERIA_FD|CRITERIA_VAL|   *      [ CRITERIA_ANY|CRITERIA_CALL|CRITERIA_ARG|CRITERIA_FD|CRITERIA_VAL|
 *              CRITERIA_ID|CRITERIA_TS|CRITERIA_DATA ] *              CRITERIA_ID|CRITERIA_TS|CRITERIA_DATA|CRITERIA_DATLEN ]
  * @param = search parameter   * @param = search parameter
  * @hook = custom cleanup hook function, may be NULL   * @hook = custom cleanup hook function, may be NULL
  * return: -1 error, -2 error in sub-stage cancel execution, -3 error from custom hook or 0 ok   * return: -1 error, -2 error in sub-stage cancel execution, -3 error from custom hook or 0 ok
Line 816  schedCancelby(sched_root_task_t * __restrict root, sch Line 825  schedCancelby(sched_root_task_t * __restrict root, sch
                                 if (TASK_DATA(task) == param)                                  if (TASK_DATA(task) == param)
                                         flg = 1;                                          flg = 1;
                                 break;                                  break;
                           case CRITERIA_DATLEN:
                                   if (TASK_DATLEN(task) == (size_t) param)
                                           flg = 1;
                                   break;
                         default:                          default:
                                 sched_SetErr(EINVAL, "Invalid parameter criteria %d", criteria);                                  sched_SetErr(EINVAL, "Invalid parameter criteria %d", criteria);
                                 flg = -1;                                  flg = -1;
Line 941  schedTermCondition(sched_root_task_t * __restrict root Line 954  schedTermCondition(sched_root_task_t * __restrict root
  *   *
  * @root = root task   * @root = root task
  * @criteria = find task by criteria    * @criteria = find task by criteria 
 *      [CRITERIA_ANY|CRITERIA_ID|CRITERIA_DATA] *      [CRITERIA_ANY|CRITERIA_ID|CRITERIA_VAL|CRITERIA_DATA]
  * @param = search parameter (sched_task_t *task| unsigned long id)   * @param = search parameter (sched_task_t *task| unsigned long id)
  * return: -1 error or 0 resumed ok   * return: -1 error or 0 resumed ok
  */   */
Line 964  schedResumeby(sched_root_task_t * __restrict root, u_c Line 977  schedResumeby(sched_root_task_t * __restrict root, u_c
                                 flg = 1;                                  flg = 1;
                                 break;                                  break;
                         case CRITERIA_ID:                          case CRITERIA_ID:
                           case CRITERIA_VAL:
                                 if (TASK_VAL(task) == (u_long) param)                                  if (TASK_VAL(task) == (u_long) param)
                                         flg = 1;                                          flg = 1;
                                 break;                                  break;

Removed from v.1.22  
changed lines
  Added in v.1.25


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