diff options
| author | chenchaoqun <[email protected]> | 2020-07-27 14:01:30 +0800 |
|---|---|---|
| committer | chenchaoqun <[email protected]> | 2020-07-27 14:01:30 +0800 |
| commit | a78c6bedea2bb4e9833fdb2cc22f3af813724609 (patch) | |
| tree | bf3706e8d21760d81287d9e9da68612f2c9b9c28 /src | |
| parent | e6b72153b440ae6eb9cf98bdc44c29903042373f (diff) | |
[add] a macro to be isolated while using signals in rt_mutex_take function.
Diffstat (limited to 'src')
| -rw-r--r-- | src/ipc.c | 4 |
1 files changed, 4 insertions, 0 deletions
@@ -685,7 +685,9 @@ rt_err_t rt_mutex_take(rt_mutex_t mutex, rt_int32_t time) } else { +#ifdef RT_USING_SIGNALS __again: +#endif /* end of RT_USING_SIGNALS */ /* The value of mutex is 1 in initial status. Therefore, if the * value is great than 0, it indicates the mutex is avaible. */ @@ -754,8 +756,10 @@ __again: if (thread->error != RT_EOK) { +#ifdef RT_USING_SIGNALS /* interrupt by signal, try it again */ if (thread->error == -RT_EINTR) goto __again; +#endif /* end of RT_USING_SIGNALS */ /* return error */ return thread->error; |
