forked from lei.chen/myxce
merge job rusage and pending reason support
This commit is contained in:
parent
30824ae5ea
commit
cb0c7fe9e7
82 changed files with 4280 additions and 2561 deletions
37
src/include/delay.h
Normal file
37
src/include/delay.h
Normal file
|
|
@ -0,0 +1,37 @@
|
|||
#if !defined(_DELAY_H_)
|
||||
|
||||
#define _DELAY_H_ 1
|
||||
|
||||
#include <pthread.h>
|
||||
#include <stdint.h>
|
||||
#include <sys/types.h>
|
||||
#include <time.h>
|
||||
|
||||
#include "ordq.h"
|
||||
|
||||
typedef int (*delay_task_entry_fn_t)(void*);
|
||||
typedef int (*task_run_fn_t)(delay_task_entry_fn_t, void*);
|
||||
|
||||
typedef struct {
|
||||
int run_period;
|
||||
int runcount;
|
||||
delay_task_entry_fn_t entry;
|
||||
void* args;
|
||||
} delay_task_t;
|
||||
|
||||
typedef struct {
|
||||
pthread_t worker;
|
||||
int running;
|
||||
int precision;
|
||||
task_run_fn_t runner_fn;
|
||||
timer_t timerid;
|
||||
ordq_t tasks;
|
||||
} delaymgr_t;
|
||||
|
||||
extern int delaymgr_init(delaymgr_t*, int, task_run_fn_t);
|
||||
extern void delaymgr_stop(delaymgr_t*);
|
||||
extern void delaymgr_fini(delaymgr_t*);
|
||||
extern int delaymgr_start(delaymgr_t*);
|
||||
extern int delay_task(delaymgr_t*, int, int, delay_task_entry_fn_t, void*);
|
||||
|
||||
#endif
|
||||
Loading…
Add table
Add a link
Reference in a new issue