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, ¶m) from outside!? Thanks for your quick help. Wolfgang. _______________________________________________ Xenomai-core mailing list Xenomaifirstname.lastname@example.org https://mail.gna.org/listinfo/xenomai-core