Module: xenomai-3 Branch: master Commit: fa3092a14f97e729c6f8e0bc5608c87a1a063e6a URL: http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=fa3092a14f97e729c6f8e0bc5608c87a1a063e6a
Author: Philippe Gerum <r...@xenomai.org> Date: Mon Aug 10 18:07:05 2015 +0200 copperplate/semobj: add uninit cleanup helper This one does not run the object finalizer, assuming a strictly passive object (no waiters yet). --- include/copperplate/semobj.h | 2 ++ lib/copperplate/semobj.c | 12 ++++++++++++ 2 files changed, 14 insertions(+) diff --git a/include/copperplate/semobj.h b/include/copperplate/semobj.h index dd2e642..4d9e0a5 100644 --- a/include/copperplate/semobj.h +++ b/include/copperplate/semobj.h @@ -66,6 +66,8 @@ int semobj_init(struct semobj *smobj, int semobj_destroy(struct semobj *smobj); +void semobj_uninit(struct semobj *smobj); + int semobj_post(struct semobj *smobj); int semobj_broadcast(struct semobj *smobj); diff --git a/lib/copperplate/semobj.c b/lib/copperplate/semobj.c index d056a7b..a615678 100644 --- a/lib/copperplate/semobj.c +++ b/lib/copperplate/semobj.c @@ -73,6 +73,13 @@ int semobj_destroy(struct semobj *smobj) return ret; } +void semobj_uninit(struct semobj *smobj) +{ + int ret = __RT(sem_destroy(&smobj->core.sem)); + assert(ret == 0); + (void)ret; +} + int semobj_post(struct semobj *smobj) { int ret; @@ -217,6 +224,11 @@ int semobj_destroy(struct semobj *smobj) return syncobj_destroy(&smobj->core.sobj, &syns); } +void semobj_uninit(struct semobj *smobj) +{ + syncobj_uninit(&smobj->core.sobj); +} + int semobj_post(struct semobj *smobj) { struct syncstate syns; _______________________________________________ Xenomai-git mailing list Xenomai-git@xenomai.org http://xenomai.org/mailman/listinfo/xenomai-git