Philippe Gerum wrote: > On Sat, 2009-04-04 at 09:37 +0200, Jan Kiszka wrote: >> Philippe Gerum wrote: >>> On Thu, 2009-04-02 at 23:40 +0200, Gilles Chanteperdrix wrote: >>>> Jan Kiszka wrote: >>>>> [ can be pulled from git.xenomai.org/xenomai-jki.git queues/assorted ] >>>>> >>>>> Keep the result of rt_task_self() in a local variable to avoid the >>>>> second invocation. >>>> Maybe we could create a pure/const variant of rt_task_self() for use in >>>> task.c only which would avoid the double evaluatino ? >>>> >>> Can't do const because of pthread_getspecific(), but pure attribute is t >>> hand, yes. >>> >> At least my gcc 4.3 ignores >> >> RT_TASK *rt_task_self(void) __attribute__ ((pure)); >> > > We can't do that on rt_task_self() directly, because of > rt_task_shadow(). > >> and keeps on inserting two calls in rt_task_delete. >> > > What if a pure static inline helper is used internally from task.c? > Makes no difference (and defining a new helper for this purpose would be overkill anyway). So please pull my original version from git://git.xenomai.org/xenomai-jki.git for-upstream BTW, you'll find another trivial fix in that queue: --- a/src/testsuite/switchtest/switchtest.c +++ b/src/testsuite/switchtest/switchtest.c @@ -1094,7 +1094,7 @@ int check_fpu(void) exit(EXIT_FAILURE); } - return (int) status; + return (long) status; } int main(int argc, const char *argv[]) Jan