include/nuttx/semaphore.h: Fix broken macros
This commit is contained in:
parent
1da3a5fa61
commit
4c8ec0d2ca
@ -160,11 +160,7 @@ int sem_reset(FAR sem_t *sem, int16_t count);
|
||||
*
|
||||
****************************************************************************/
|
||||
|
||||
#ifdef CONFIG_PRIORITY_INHERITANCE
|
||||
int sem_getprotocol(FAR sem_t *sem, FAR int *protocol);
|
||||
#else
|
||||
# define sem_getprotocol(s,p) do { *(p) == SEM_PRIO_NONE); } while (0)
|
||||
#endif
|
||||
|
||||
/****************************************************************************
|
||||
* Function: sem_setprotocol
|
||||
@ -202,11 +198,7 @@ int sem_getprotocol(FAR sem_t *sem, FAR int *protocol);
|
||||
*
|
||||
****************************************************************************/
|
||||
|
||||
#ifdef CONFIG_PRIORITY_INHERITANCE
|
||||
int sem_setprotocol(FAR sem_t *sem, int protocol);
|
||||
#else
|
||||
# define sem_setprotocol(s,p) ((p) == SEM_PRIO_NONE ? 0 : -ENOSYS);
|
||||
#endif
|
||||
|
||||
#undef EXTERN
|
||||
#ifdef __cplusplus
|
||||
|
@ -35,11 +35,7 @@
|
||||
|
||||
# Add the semaphore C files to the build
|
||||
|
||||
CSRCS += sem_init.c sem_getvalue.c
|
||||
|
||||
ifeq ($(CONFIG_PRIORITY_INHERITANCE),y)
|
||||
CSRCS += sem_getprotocol.c
|
||||
endif
|
||||
CSRCS += sem_init.c sem_getprotocol.c sem_getvalue.c
|
||||
|
||||
# Add the semaphore directory to the build
|
||||
|
||||
|
@ -43,8 +43,6 @@
|
||||
|
||||
#include <nuttx/semaphore.h>
|
||||
|
||||
#ifdef CONFIG_PRIORITY_INHERITANCE
|
||||
|
||||
/****************************************************************************
|
||||
* Public Functions
|
||||
****************************************************************************/
|
||||
@ -71,14 +69,19 @@ int sem_getprotocol(FAR sem_t *sem, FAR int *protocol)
|
||||
{
|
||||
DEBUGASSERT(sem != NULL && protocol != NULL);
|
||||
|
||||
#ifdef CONFIG_PRIORITY_INHERITANCE
|
||||
if ((sem->flags & PRIOINHERIT_FLAGS_DISABLE) != 0)
|
||||
{
|
||||
return SEM_PRIO_NONE;
|
||||
*protocol = SEM_PRIO_NONE;
|
||||
}
|
||||
else
|
||||
{
|
||||
return SEM_PRIO_INHERIT;
|
||||
*protocol = SEM_PRIO_INHERIT;
|
||||
}
|
||||
}
|
||||
|
||||
#endif /* CONFIG_PRIORITY_INHERITANCE */
|
||||
#else
|
||||
*protocol = SEM_PRIO_NONE;
|
||||
#endif
|
||||
|
||||
return OK;
|
||||
}
|
||||
|
@ -37,10 +37,10 @@
|
||||
|
||||
CSRCS += sem_destroy.c sem_wait.c sem_trywait.c sem_tickwait.c
|
||||
CSRCS += sem_timedwait.c sem_timeout.c sem_post.c sem_recover.c
|
||||
CSRCS += sem_reset.c sem_waitirq.c
|
||||
CSRCS += sem_reset.c sem_setprotocol.c sem_waitirq.c
|
||||
|
||||
ifeq ($(CONFIG_PRIORITY_INHERITANCE),y)
|
||||
CSRCS += sem_initialize.c sem_holder.c sem_setprotocol.c
|
||||
CSRCS += sem_initialize.c sem_holder.c
|
||||
endif
|
||||
|
||||
ifeq ($(CONFIG_SPINLOCK),y)
|
||||
|
@ -46,8 +46,6 @@
|
||||
|
||||
#include "semaphore/semaphore.h"
|
||||
|
||||
#ifdef CONFIG_PRIORITY_INHERITANCE
|
||||
|
||||
/****************************************************************************
|
||||
* Public Functions
|
||||
****************************************************************************/
|
||||
@ -97,6 +95,7 @@ int sem_setprotocol(FAR sem_t *sem, int protocol)
|
||||
switch (protocol)
|
||||
{
|
||||
case SEM_PRIO_NONE:
|
||||
#ifdef CONFIG_PRIORITY_INHERITANCE
|
||||
/* Disable priority inheritance */
|
||||
|
||||
sem->flags |= PRIOINHERIT_FLAGS_DISABLE;
|
||||
@ -104,13 +103,16 @@ int sem_setprotocol(FAR sem_t *sem, int protocol)
|
||||
/* Remove any current holders */
|
||||
|
||||
sem_destroyholder(sem);
|
||||
#endif
|
||||
return OK;
|
||||
|
||||
case SEM_PRIO_INHERIT:
|
||||
#ifdef CONFIG_PRIORITY_INHERITANCE
|
||||
/* Enable priority inheritance (dangerous) */
|
||||
|
||||
sem->flags &= ~PRIOINHERIT_FLAGS_DISABLE;
|
||||
return OK;
|
||||
#endif
|
||||
|
||||
case SEM_PRIO_PROTECT:
|
||||
/* Not yet supported */
|
||||
@ -126,5 +128,3 @@ int sem_setprotocol(FAR sem_t *sem, int protocol)
|
||||
set_errno(errcode);
|
||||
return ERROR;
|
||||
}
|
||||
|
||||
#endif /* CONFIG_PRIORITY_INHERITANCE */
|
||||
|
@ -118,7 +118,7 @@
|
||||
"sem_destroy","semaphore.h","","int","FAR sem_t*"
|
||||
"sem_open","semaphore.h","defined(CONFIG_FS_NAMED_SEMAPHORES)","FAR sem_t*","FAR const char*","int","..."
|
||||
"sem_post","semaphore.h","","int","FAR sem_t*"
|
||||
"sem_setprotocol","nuttx/semaphore.h","defined(CONFIG_PRIORITY_INHERITANCE)","int","FAR sem_t*","int"
|
||||
"sem_setprotocol","nuttx/semaphore.h","","int","FAR sem_t*","int"
|
||||
"sem_timedwait","semaphore.h","","int","FAR sem_t*","FAR const struct timespec *"
|
||||
"sem_trywait","semaphore.h","","int","FAR sem_t*"
|
||||
"sem_unlink","semaphore.h","defined(CONFIG_FS_NAMED_SEMAPHORES)","int","FAR const char*"
|
||||
|
Can't render this file because it has a wrong number of fields in line 2.
|
Loading…
Reference in New Issue
Block a user