Module: xenomai-forge Branch: next Commit: 6b6e68cd5d248f60fd9687fac818adde27f0dbde URL: http://git.xenomai.org/?p=xenomai-forge.git;a=commit;h=6b6e68cd5d248f60fd9687fac818adde27f0dbde
Author: Philippe Gerum <r...@xenomai.org> Date: Wed May 8 12:35:56 2013 +0200 copperplate/semobj: sanitize semaphore scope attribute --- include/copperplate/reference.h | 2 +- lib/copperplate/semobj.c | 6 +++++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/include/copperplate/reference.h b/include/copperplate/reference.h index 05dbde4..055f8f0 100644 --- a/include/copperplate/reference.h +++ b/include/copperplate/reference.h @@ -107,7 +107,7 @@ int __fnref_register(const char *libname, #define __memchk(base, addr) pshared_check(base, addr) #define mutex_scope_attribute PTHREAD_PROCESS_SHARED -#define sem_scope_attribute SEM_PSHARED +#define sem_scope_attribute 1 #define thread_scope_attribute PTHREAD_SCOPE_SYSTEM #define monitor_scope_attribute COBALT_MONITOR_SHARED #define event_scope_attribute COBALT_EVENT_SHARED diff --git a/lib/copperplate/semobj.c b/lib/copperplate/semobj.c index de89ed9..38919e6 100644 --- a/lib/copperplate/semobj.c +++ b/lib/copperplate/semobj.c @@ -27,7 +27,11 @@ int semobj_init(struct semobj *smobj, int flags, int value, fnref_type(void (*)(struct semobj *smobj)) finalizer) { - int ret, sem_flags = sem_scope_attribute|SEM_REPORT|SEM_RAWCLOCK; + int ret, sem_flags; + + sem_flags = SEM_REPORT|SEM_RAWCLOCK; + if (sem_scope_attribute) + sem_flags |= SEM_PSHARED; if ((flags & SEMOBJ_PRIO) == 0) sem_flags |= SEM_FIFO; _______________________________________________ Xenomai-git mailing list Xenomai-git@xenomai.org http://www.xenomai.org/mailman/listinfo/xenomai-git