struct task {
void *private_data;
- unsigned flags;
int ret;
void (*pre_select)(struct sched *s, struct task *t);
void (*post_select)(struct sched *s, struct task *t);
- void (*error_handler)(struct task *t);
+ void (*event_handler)(struct task *t);
struct list_head pre_select_node;
struct list_head post_select_node;
char status[MAXLINE];
};
-enum task_flags {
- PRE_ADD_TAIL = 1,
- POST_ADD_TAIL = 2,
- PRE_EOF_IS_ERROR = 4,
- POST_EOF_IS_ERROR = 8,
-};
+extern struct timeval *now;
void *register_task(struct task *t);
void unregister_task(struct task *t);
int sched(struct sched *s);
void init_sched(void);
+char *get_task_list(void);
+int kill_task(char *id);