]> git.tuebingen.mpg.de Git - paraslash.git/blobdiff - sched.h
sched: kill task->dead.
[paraslash.git] / sched.h
diff --git a/sched.h b/sched.h
index db6ee7dc3a21a6a87037a3bad331d4ae081e271a..05b6c51e725b31bba2f75bf46d1faf714e5ebe2e 100644 (file)
--- a/sched.h
+++ b/sched.h
@@ -33,31 +33,7 @@ struct sched {
        struct list_head task_list;
 };
 
-/**
- * Paraslash's task structure.
- *
- * This is considered an internal structure and will eventually be made private.
- *
- * \sa \ref sched.
- */
-struct task {
-       /** Copied from the task_info struct during task_register(). */
-       void (*pre_select)(struct sched *s, struct task *t);
-       /** Copied from the task_info struct during task_register(). */
-       int (*post_select)(struct sched *s, struct task *t);
-       /** Whether this task is active (>=0) or in error state (<0). */
-       int error;
-       /** Position of the task in the task list of the scheduler. */
-       struct list_head node;
-       /** The task name supplied when the task was registered(). */
-       char status[255];
-       /** If less than zero, the task was notified by another task. */
-       int notification;
-       /** True if task is in error state and exit status has been queried. */
-       bool dead;
-       /** Usually a pointer to the struct containing this task. */
-       void *context;
-};
+struct task;
 
 /** Information that must be supplied by callers of \ref task_register(). */
 struct task_info {
@@ -103,6 +79,7 @@ char *get_task_list(struct sched *s);
 void task_notify(struct task *t, int err);
 void task_notify_all(struct sched *s, int err);
 int task_get_notification(const struct task *t);
+int task_status(const struct task *t);
 int task_reap(struct task **tptr);
 void sched_min_delay(struct sched *s);
 void sched_request_timeout(struct timeval *to, struct sched *s);