summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorBernard Xiong <[email protected]>2019-04-24 17:54:28 +0800
committerGitHub <[email protected]>2019-04-24 17:54:28 +0800
commit14252b4e4072e913a030032790742f3c754983e3 (patch)
treed5d56a983f4a51654e6503a71b257770a9906061 /src
parent1dda3b26dcf0414fb61c34a42a2040da0df1db99 (diff)
parent7bcee9bcb14f337efb6fcacecc1501d01624c0a3 (diff)
Merge pull request #2593 from jesven/fix_sem_value
修改sem中的value成员变量和赋值参数类型相同
Diffstat (limited to 'src')
-rw-r--r--src/ipc.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/ipc.c b/src/ipc.c
index 7f603cfc4d..74faf6ac7e 100644
--- a/src/ipc.c
+++ b/src/ipc.c
@@ -201,6 +201,7 @@ rt_err_t rt_sem_init(rt_sem_t sem,
rt_uint8_t flag)
{
RT_ASSERT(sem != RT_NULL);
+ RT_ASSERT(value < 0x10000U);
/* init object */
rt_object_init(&(sem->parent.parent), RT_Object_Class_Semaphore, name);
@@ -209,7 +210,7 @@ rt_err_t rt_sem_init(rt_sem_t sem,
rt_ipc_object_init(&(sem->parent));
/* set init value */
- sem->value = value;
+ sem->value = (rt_uint16_t)value;
/* set parent */
sem->parent.parent.flag = flag;
@@ -261,6 +262,7 @@ rt_sem_t rt_sem_create(const char *name, rt_uint32_t value, rt_uint8_t flag)
rt_sem_t sem;
RT_DEBUG_NOT_IN_INTERRUPT;
+ RT_ASSERT(value < 0x10000U);
/* allocate object */
sem = (rt_sem_t)rt_object_allocate(RT_Object_Class_Semaphore, name);