mirror of
http://git.haproxy.org/git/haproxy.git/
synced 2025-01-18 19:50:54 +00:00
MINOR: task: add an application specific flag to the state: TASK_F_USR1
This flag will be usable by any application. It will be preserved across wakeups so the application can use it to do various stuff. Some I/O handlers will soon benefit from this.
This commit is contained in:
parent
144f84a09d
commit
6fa8bcdc78
@ -56,7 +56,8 @@
|
||||
TASK_WOKEN_RES)
|
||||
|
||||
#define TASK_F_TASKLET 0x00008000 /* nature of this task: 0=task 1=tasklet */
|
||||
/* unused: 0x10000..0x80000000 */
|
||||
#define TASK_F_USR1 0x00010000 /* preserved user flag 1, application-specific, def:0 */
|
||||
/* unused: 0x20000..0x80000000 */
|
||||
|
||||
|
||||
enum {
|
||||
|
@ -487,7 +487,7 @@ unsigned int run_tasks_from_lists(unsigned int budgets[])
|
||||
|
||||
budgets[queue]--;
|
||||
t = (struct task *)LIST_ELEM(tl_queues[queue].n, struct tasklet *, list);
|
||||
state = t->state & (TASK_SHARED_WQ|TASK_SELF_WAKING|TASK_HEAVY|TASK_F_TASKLET|TASK_KILLED);
|
||||
state = t->state & (TASK_SHARED_WQ|TASK_SELF_WAKING|TASK_HEAVY|TASK_F_TASKLET|TASK_KILLED|TASK_F_USR1);
|
||||
|
||||
ti->flags &= ~TI_FL_STUCK; // this thread is still running
|
||||
activity[tid].ctxsw++;
|
||||
@ -533,7 +533,7 @@ unsigned int run_tasks_from_lists(unsigned int budgets[])
|
||||
|
||||
LIST_DEL_INIT(&((struct tasklet *)t)->list);
|
||||
__ha_barrier_store();
|
||||
state = _HA_ATOMIC_XCHG(&t->state, state | TASK_RUNNING);
|
||||
state = _HA_ATOMIC_XCHG(&t->state, state|TASK_RUNNING|TASK_F_USR1);
|
||||
__ha_barrier_atomic_store();
|
||||
|
||||
/* OK then this is a regular task */
|
||||
|
Loading…
Reference in New Issue
Block a user