Просмотр исходного кода

!490 修复sys_mb相关函数的参数类型问题
Merge pull request !490 from songchao/rt-smart

bernard 3 лет назад
Родитель
Сommit
4015ea5283
2 измененных файлов с 8 добавлено и 8 удалено
  1. 5 5
      components/lwp/lwp_syscall.c
  2. 3 3
      components/lwp/lwp_syscall.h

+ 5 - 5
components/lwp/lwp_syscall.c

@@ -339,7 +339,7 @@ static void convert_sockopt(int *level, int *optname)
 }
 #endif  /* RT_USING_SAL */
 
-#ifdef RT_USING_LWIP
+#if defined(RT_USING_LWIP) || defined(SAL_USING_UNET)
     static void sockaddr_tolwip(const struct musl_sockaddr *std, struct sockaddr *lwip)
     {
         if (std && lwip)
@@ -1184,21 +1184,21 @@ rt_err_t sys_mb_delete(rt_mailbox_t mb)
     return lwp_user_object_delete(lwp_self(), (rt_object_t)mb);
 }
 
-rt_err_t sys_mb_send(rt_mailbox_t mb, rt_uint32_t value)
+rt_err_t sys_mb_send(rt_mailbox_t mb, rt_ubase_t value)
 {
     return rt_mb_send(mb, value);
 }
 
 rt_err_t sys_mb_send_wait(rt_mailbox_t mb,
-                         rt_uint32_t  value,
+                         rt_ubase_t  value,
                          rt_int32_t   timeout)
 {
     return rt_mb_send_wait(mb, value, timeout);
 }
 
-rt_err_t sys_mb_recv(rt_mailbox_t mb, rt_uint32_t *value, rt_int32_t timeout)
+rt_err_t sys_mb_recv(rt_mailbox_t mb, rt_ubase_t *value, rt_int32_t timeout)
 {
-    if (!lwp_user_accessable((void *)value, sizeof(rt_uint32_t *)))
+    if (!lwp_user_accessable((void *)value, sizeof(rt_ubase_t *)))
     {
         return -EFAULT;
     }

+ 3 - 3
components/lwp/lwp_syscall.h

@@ -66,9 +66,9 @@ rt_err_t sys_event_send(rt_event_t event, rt_uint32_t set);
 rt_err_t sys_event_recv(rt_event_t event, rt_uint32_t set, rt_uint8_t opt, rt_int32_t timeout, rt_uint32_t *recved);
 rt_mailbox_t sys_mb_create(const char *name, rt_size_t size, rt_uint8_t flag);
 rt_err_t sys_mb_delete(rt_mailbox_t mb);
-rt_err_t sys_mb_send(rt_mailbox_t mb, rt_uint32_t value);
-rt_err_t sys_mb_send_wait(rt_mailbox_t mb, rt_uint32_t value, rt_int32_t timeout);
-rt_err_t sys_mb_recv(rt_mailbox_t mb, rt_uint32_t *value, rt_int32_t timeout);
+rt_err_t sys_mb_send(rt_mailbox_t mb, rt_ubase_t value);
+rt_err_t sys_mb_send_wait(rt_mailbox_t mb, rt_ubase_t value, rt_int32_t timeout);
+rt_err_t sys_mb_recv(rt_mailbox_t mb, rt_ubase_t *value, rt_int32_t timeout);
 rt_mq_t sys_mq_create(const char *name, rt_size_t msg_size, rt_size_t max_msgs, rt_uint8_t flag);
 rt_err_t sys_mq_delete(rt_mq_t mq);
 rt_err_t sys_mq_send(rt_mq_t mq, void *buffer, rt_size_t size);