On Thu, 2011-09-01 at 17:25 +0200, Sambasiva Rao Manchili wrote:
> Hi,
> It is reduced piece which explains the problem.
> If it is much more then I will see what I can do.

User-space needs this, or something alike (not tested, not even
compiled actually):

diff --git a/src/skins/vxworks/taskLib.c b/src/skins/vxworks/taskLib.c
index f751788..70f33aa 100644
--- a/src/skins/vxworks/taskLib.c
+++ b/src/skins/vxworks/taskLib.c
@@ -267,10 +267,34 @@ STATUS taskDeleteForce(TASK_ID task_id)
 
 STATUS taskDelete(TASK_ID task_id)
 {
+       TASK_DESC desc;
+       pthread_t tid;
        int err;
 
-       err =
-           XENOMAI_SKINCALL1(__vxworks_muxid, __vxworks_task_delete, task_id);
+       err = XENOMAI_SKINCALL2(__vxworks_muxid,
+                               __vxworks_taskinfo_get, task_id, &desc);
+       if (err) {
+               errno = abs(err);
+               return ERROR;
+       }
+
+       tid = (pthread_t)desc->td_opaque;
+       if (tid == pthread_self()) {
+               /* Silently migrate to avoid raising SIGXCPU. */
+               XENOMAI_SYSCALL1(__xn_sys_migrate, XENOMAI_LINUX_DOMAIN);
+               pthread_exit(NULL);
+       }
+
+       if (tid) {
+               err = pthread_cancel(tid);
+               if (err)
+                       return -err;
+       }
+
+       err = XENOMAI_SKINCALL1(__vxworks_muxid, __vxworks_task_delete, 
task_id);
+       if (err == S_objLib_OBJ_ID_ERROR)
+               return OK; /* Used to be valid, but has exited. */
+
        if (err) {
                errno = abs(err);
                return ERROR;

> Samba.
> 
> -----Original Message-----
> From: Gilles Chanteperdrix [mailto:gilles.chanteperd...@xenomai.org]
> Sent: Thursday, 01. September, 2011 17:08
> To: Sambasiva Rao Manchili
> Cc: Xenomai-help@gna.org
> Subject: Re: [Xenomai-help] taskDelete(tid) on VxWorks Skin ?
> 
> On 09/01/2011 04:51 PM, Sambasiva Rao Manchili wrote:
> >  Hi,
> > The reason that I have not given this piece of code was because it is not 
> > written by me oflate but  was code that exists since several years which is 
> > running on VxWorks  on  different versions.
> > I just ported this with very very minimal effort to Linux over Xenomai.
> >
> 
> I do not ask you to send your code, I ask you to send a reduced, 
> self-contained test case, which demonstrates the issue you have, for reasons 
> explained on the page I directed you to.
> 
> --
>                                             Gilles.
> 
> 
> This email and any attachment may contain confidential information which is 
> intended for use only by the addressee(s) named above. If you received this 
> email by mistake, please notify the sender immediately, and delete the email 
> from your system. You are prohibited from copying, disseminating or otherwise 
> using the email or any attachment.
> 
> 
> _______________________________________________
> Xenomai-help mailing list
> Xenomai-help@gna.org
> https://mail.gna.org/listinfo/xenomai-help

-- 
Philippe.




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

Reply via email to