Hi,
 

given the existing doc of rt_task_suspend about allowed environments and
also when thinking about the logic behind it, I see no reason why
xnpod_unblockable_p() is also applied to task != NULL.


XNLOCK is set? anyway, I don't see how the patch makes current logic different...

in both cases xnpod_unblockable_p() has a chance to be executed only when task != NULL (thanks to goto). and -EPERM is returned when task != NULL && xnpod_unblockable_p() == true.
 

        if (!task) {
                err = xeno_handle_error(task, XENO_TASK_MAGIC, RT_TASK);
                goto unlock_and_exit;
-       }
-
-       if (xnpod_unblockable_p()) {
+       } else if (xnpod_unblockable_p()) {
                err = -EPERM;
                goto unlock_and_exit;
        }





--
Best regards,
Dmitry Adamushko
_______________________________________________
Xenomai-core mailing list
Xenomai-core@gna.org
https://mail.gna.org/listinfo/xenomai-core

Reply via email to