Module: xenomai-forge Branch: next Commit: 8c2bd7a7c27cade7bb13859cba28ff4b84c5f9ae URL: http://git.xenomai.org/?p=xenomai-forge.git;a=commit;h=8c2bd7a7c27cade7bb13859cba28ff4b84c5f9ae
Author: Philippe Gerum <r...@xenomai.org> Date: Wed Aug 6 07:43:45 2014 +0200 copperplate/threadobj: factor out magic word invalidation --- lib/alchemy/task.c | 6 ------ lib/copperplate/threadobj.c | 1 + lib/psos/task.c | 6 ------ lib/vxworks/taskLib.c | 6 ------ 4 files changed, 1 insertion(+), 18 deletions(-) diff --git a/lib/alchemy/task.c b/lib/alchemy/task.c index 7acdee0..040409f 100644 --- a/lib/alchemy/task.c +++ b/lib/alchemy/task.c @@ -236,12 +236,6 @@ static void *task_entry(void *arg) tcb->entry(tcb->arg); - CANCEL_DEFER(svc); - threadobj_lock(&tcb->thobj); - threadobj_set_magic(&tcb->thobj, ~task_magic); - threadobj_unlock(&tcb->thobj); - CANCEL_RESTORE(svc); - return NULL; } diff --git a/lib/copperplate/threadobj.c b/lib/copperplate/threadobj.c index f3780df..bccf306 100644 --- a/lib/copperplate/threadobj.c +++ b/lib/copperplate/threadobj.c @@ -1318,6 +1318,7 @@ static void finalize_thread(void *p) /* thobj->lock free */ if (thobj == NULL || thobj == THREADOBJ_IRQCONTEXT) return; + thobj->magic = ~thobj->magic; pthread_setcanceltype(PTHREAD_CANCEL_DEFERRED, NULL); threadobj_set_current(p); thobj->pid = 0; diff --git a/lib/psos/task.c b/lib/psos/task.c index 2c0cbca..ea122c0 100644 --- a/lib/psos/task.c +++ b/lib/psos/task.c @@ -204,12 +204,6 @@ static void *task_trampoline(void *arg) args->entry(args->arg0, args->arg1, args->arg2, args->arg3); - CANCEL_DEFER(svc); - threadobj_lock(&task->thobj); - threadobj_set_magic(&task->thobj, ~task_magic); - threadobj_unlock(&task->thobj); - CANCEL_RESTORE(svc); - return NULL; } diff --git a/lib/vxworks/taskLib.c b/lib/vxworks/taskLib.c index 946e58d..6492d62 100644 --- a/lib/vxworks/taskLib.c +++ b/lib/vxworks/taskLib.c @@ -276,12 +276,6 @@ static void *task_trampoline(void *arg) args->arg4, args->arg5, args->arg6, args->arg7, args->arg8, args->arg9); - CANCEL_DEFER(svc); - threadobj_lock(&task->thobj); - threadobj_set_magic(&task->thobj, ~task_magic); - threadobj_unlock(&task->thobj); - CANCEL_RESTORE(svc); - return NULL; } _______________________________________________ Xenomai-git mailing list Xenomai-git@xenomai.org http://www.xenomai.org/mailman/listinfo/xenomai-git