Jan Kiszka wrote:
> @@ -329,6 +326,13 @@ int pse51_mutex_timedlock_break(struct _
>                               break;
>                       }
>               }
> +             if (!xnsynch_nsleepers(&mutex->synchbase)) {
> +                     xnarch_atomic_set
> +                             (mutex->owner,
> +                              clear_claimed
> +                                     (xnarch_atomic_get(mutex->owner)));
> +                     xnsynch_set_owner(&mutex->synchbase, NULL);
> +             }
>               xnlock_put_irqrestore(&nklock, s);

I do not like this at all. I mean, unless I am mistaken, we loose more
than we gain, we are adding a couple of atomic, hence heavy, operations
in a common case for handling a corner case. I still prefer emitting a
system call in the corner case.

-- 
                                            Gilles.

_______________________________________________
Xenomai-core mailing list
Xenomai-core@gna.org
https://mail.gna.org/listinfo/xenomai-core

Reply via email to