diff options
author | zml <zml@FreeBSD.org> | 2010-05-28 18:15:28 +0000 |
---|---|---|
committer | zml <zml@FreeBSD.org> | 2010-05-28 18:15:28 +0000 |
commit | f1e0737c28cabbd46b771c2937b89e4d2ecb9d37 (patch) | |
tree | ce37781afaa60be1da1b396cd15e2580d5d323b7 /sys/sys/_task.h | |
parent | 02f6039bb5c1527561b6dbb6c567ca1cab28af15 (diff) | |
download | FreeBSD-src-f1e0737c28cabbd46b771c2937b89e4d2ecb9d37.zip FreeBSD-src-f1e0737c28cabbd46b771c2937b89e4d2ecb9d37.tar.gz |
Revert r207439 and solve the problem differently. The task handler
ta_func may free the task structure, so no references to its members
are valid after the handler has been called. Using a per-queue member
and having waits longer than strictly necessary was suggested by jhb.
Submitted by: Matthew Fleming <matthew.fleming@isilon.com>
Reviewed by: zml, jhb
Diffstat (limited to 'sys/sys/_task.h')
-rw-r--r-- | sys/sys/_task.h | 2 |
1 files changed, 0 insertions, 2 deletions
diff --git a/sys/sys/_task.h b/sys/sys/_task.h index 781cd48..68e236f 100644 --- a/sys/sys/_task.h +++ b/sys/sys/_task.h @@ -45,8 +45,6 @@ typedef void task_fn_t(void *context, int pending); struct task { STAILQ_ENTRY(task) ta_link; /* (q) link for queue */ - u_int ta_flags; /* (q) state of this task */ -#define TA_FLAGS_RUNNING 0x01 u_short ta_pending; /* (q) count times queued */ u_short ta_priority; /* (c) Priority */ task_fn_t *ta_func; /* (c) task handler */ |