Module: xenomai-gch Branch: for-forge Commit: 279726bbef4eea1c6d47e5a2cac7d87e411e4947 URL: http://git.xenomai.org/?p=xenomai-gch.git;a=commit;h=279726bbef4eea1c6d47e5a2cac7d87e411e4947
Author: Gilles Chanteperdrix <gilles.chanteperd...@xenomai.org> Date: Tue Dec 24 19:07:46 2013 +0100 addendum mqueue: add cleanup debugs --- kernel/cobalt/posix/mqueue.c | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/kernel/cobalt/posix/mqueue.c b/kernel/cobalt/posix/mqueue.c index d4a944c..c39e425 100644 --- a/kernel/cobalt/posix/mqueue.c +++ b/kernel/cobalt/posix/mqueue.c @@ -200,6 +200,10 @@ static inline void mq_destroy(struct cobalt_mq *mq) int resched; spl_t s; +#if XENO_DEBUG(COBALT) + printk(XENO_INFO "deleting Cobalt message queue \"/%s\"\n", mq->name); +#endif + xnlock_get_irqsave(&nklock, s); resched = (xnsynch_destroy(&mq->receivers) == XNSYNCH_RESCHED); resched = (xnsynch_destroy(&mq->senders) == XNSYNCH_RESCHED) || resched; @@ -233,7 +237,11 @@ static void mqd_destroy(struct xnfd *xnfd) struct cobalt_mqd *mqd = container_of(xnfd, struct cobalt_mqd, xnfd); struct cobalt_mq *mq = mqd->mq; spl_t s; - + +#if XENO_DEBUG(COBALT) + printk(XENO_INFO "closing Cobalt message queue descriptor %d\n", + xnfd_getfd(&mqd->xnfd)); +#endif xnfree(mqd); xnlock_get_irqsave(&nklock, s); mq_unref_inner(mq, s); @@ -547,6 +555,8 @@ static inline int mq_unlink(const char *name) err = xnregistry_bind(&name[1], XN_NONBLOCK, XN_RELATIVE, &handle); if (err == -EWOULDBLOCK) return -ENOENT; + if (err) + return err; xnlock_get_irqsave(&nklock, s); mq = xnregistry_fetch(handle); @@ -1263,8 +1273,7 @@ void cobalt_mq_pkg_cleanup(void) xnlock_put_irqrestore(&nklock, s); mq_destroy(mq); #if XENO_DEBUG(COBALT) - printk(XENO_INFO "unlinking Cobalt mq \"%s\"\n", - mq->nodebase.name); + printk(XENO_INFO "unlinking Cobalt mq \"/%s\"\n", mq->name); #endif /* XENO_DEBUG(COBALT) */ xnlock_get_irqsave(&nklock, s); } _______________________________________________ Xenomai-git mailing list Xenomai-git@xenomai.org http://www.xenomai.org/mailman/listinfo/xenomai-git