Diff for /libaitsched/inc/aitsched.h between versions 1.24.2.4 and 1.29

version 1.24.2.4, 2014/01/28 13:17:07 version 1.29, 2019/01/14 15:58:50
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 - 2014Copyright 2004 - 2018
         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 160  typedef struct sched_HooksTask hooks_task_t; Line 160  typedef struct sched_HooksTask hooks_task_t;
   
 /* task callback, like pthread callback! */  /* task callback, like pthread callback! */
 typedef void *(*sched_task_func_t)(sched_task_t * /* current task data*/);  typedef void *(*sched_task_func_t)(sched_task_t * /* current task data*/);
   #define SCHED_TASK_DEFINE(x)    void *(x)(sched_task_t*)
   
 /* task lock helpers */  /* task lock helpers */
 #define TASK_LOCK(x)            ((x)->task_lock = 42)  #define TASK_LOCK(x)            ((x)->task_lock = 42)
Line 218  struct sched_RootTask { Line 219  struct sched_RootTask {
         struct timespec root_wait;          struct timespec root_wait;
         struct timespec root_poll;          struct timespec root_poll;
         unsigned long   root_miss;          unsigned long   root_miss;
        intptr_t        root_cond;        intptr_t        root_cond[1];
         void            *root_ret;          void            *root_ret;
   
         pthread_mutex_t root_mtx[taskMAX];          pthread_mutex_t root_mtx[taskMAX];
Line 308  int schedPolling(sched_root_task_t * __restrict root,  Line 309  int schedPolling(sched_root_task_t * __restrict root, 
  * @condValue = condition value, kill schedRun() if condValue == killState   * @condValue = condition value, kill schedRun() if condValue == killState
  * return: -1 error or 0 ok   * return: -1 error or 0 ok
  */   */
int schedTermCondition(sched_root_task_t * __restrict root, intptr_t condValue);int schedTermCondition(sched_root_task_t * __restrict root, intptr_t * __restrict condValue);
 /*  /*
  * schedCall() - Call task execution function   * schedCall() - Call task execution function
  *   *
Line 448  sched_task_t *schedRTC(sched_root_task_t * __restrict  Line 449  sched_task_t *schedRTC(sched_root_task_t * __restrict 
 sched_task_t *schedNode(sched_root_task_t * __restrict root, sched_task_func_t func, void *arg,   sched_task_t *schedNode(sched_root_task_t * __restrict root, sched_task_func_t func, void *arg, 
                 int fd, void *opt_data, size_t opt_dlen);                  int fd, void *opt_data, size_t opt_dlen);
 #define schedNodeSelf(x)        schedNode(TASK_ROOT((x)), TASK_FUNC((x)), TASK_ARG((x)), \  #define schedNodeSelf(x)        schedNode(TASK_ROOT((x)), TASK_FUNC((x)), TASK_ARG((x)), \
                   TASK_FD((x)), TASK_DATA((x)), TASK_DATLEN((x)))
   /*
    * schedNode2() - Add NODE task with all events to scheduler queue
    *
    * @root = root task
    * @func = task execution function
    * @arg = 1st func argument
    * @fd = fd handle
    * @opt_data = Optional data
    * @opt_dlen = Optional data length
    * return: NULL error or !=NULL new queued task
    */
   sched_task_t *schedNode2(sched_root_task_t * __restrict root, sched_task_func_t func, void *arg, 
                   int fd, void *opt_data, size_t opt_dlen);
   #define schedNode2Self(x)       schedNode2(TASK_ROOT((x)), TASK_FUNC((x)), TASK_ARG((x)), \
                 TASK_FD((x)), TASK_DATA((x)), TASK_DATLEN((x)))                  TASK_FD((x)), TASK_DATA((x)), TASK_DATLEN((x)))
 /*  /*
  * schedProc() - Add PROC task to scheduler queue   * schedProc() - Add PROC task to scheduler queue

Removed from v.1.24.2.4  
changed lines
  Added in v.1.29


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