Browse Source

[pthreads] Fix the sem_trywait issue.

Bernard Xiong 8 years ago
parent
commit
2d7486fcc0
1 changed files with 3 additions and 3 deletions
  1. 3 3
      components/libc/pthreads/semaphore.c

+ 3 - 3
components/libc/pthreads/semaphore.c

@@ -85,7 +85,7 @@ static sem_t *posix_sem_find(const char* name)
             return iter;
         }
     }
-    
+
     return RT_NULL;
 }
 
@@ -334,7 +334,7 @@ int sem_timedwait(sem_t *sem, const struct timespec *abs_timeout)
 
     /* calculate os tick */
     tick = clock_time_to_tick(abs_timeout);
-    
+
     result = rt_sem_take(sem->sem, tick);
     if (result == -RT_ETIMEOUT)
     {
@@ -362,7 +362,7 @@ int sem_trywait(sem_t *sem)
         return -1;
     }
 
-    result = rt_sem_take(sem->sem, RT_WAITING_FOREVER);
+    result = rt_sem_take(sem->sem, 0);
     if (result == -RT_ETIMEOUT)
     {
         rt_set_errno(EAGAIN);