Gilles Chanteperdrix wrote:
> On Dec 6, 2007 2:24 PM, Wolfgang Grandegger <[EMAIL PROTECTED]> wrote:
>> Gilles Chanteperdrix wrote:
>>> On Dec 6, 2007 1:31 PM, Wolfgang Grandegger <[EMAIL PROTECTED]> wrote:
>>>> Hello,
>>>>
>>>> how do I cancel or delete a Xenomai POSIX thread running in primary
>>>> context from a higher priority thread? IIUC, pthread_kill() can only be
>>>> used in secondary context. I tried pthread_cancel(), but it only works
>>>> when hitting a cancelation point, e.g. pthread_testcancel(). Setting
>>>> pthread_setcanceltype(PTHREAD_CANCEL_ASYNCHRONOUS) did not help. Is
>>>> there a code snippet or even an example program showing how to cancel a
>>>> pthread in primary context?
>>> pthread_kill or pthread_cancel should result in sending a signal to
>>> the target thread, so should cause this thread to switch to secondary
>>> mode to handle it. If you want to wait for the target thread to be
>>> canceled, you should use pthread_cancel and pthread_join.
>> There is no way to cancel a pthread in primary mode from another pthread?
> 
> No. You always need secondary mode to effectively delete a thread. The
> same goes for the native skin.

OK, I see, but I could force the pthread to secondary mode using
pthread_setschedparam(id, SCHED_OTHER, &param) from outside!?

Thanks for your quick help.

Wolfgang.


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

Reply via email to