This is an automated email from the ASF dual-hosted git repository. jiuzhudong pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/nuttx.git
commit 32001856651f8e0b78161105f44de2e5e9475ec3 Author: hujun5 <[email protected]> AuthorDate: Wed Aug 13 13:29:50 2025 +0800 sem_rw.c: coverity HIS_metric_violation: RETURN This change consolidates multiple return statements in init_rwsem() into a single exit point by inverting error conditions and restructuring nested if-else blocks for MISRA HIS compliance. Signed-off-by: hujun5 <[email protected]> --- sched/semaphore/sem_rw.c | 32 ++++++++++++++++---------------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/sched/semaphore/sem_rw.c b/sched/semaphore/sem_rw.c index 955bf84815c..105710a1bb5 100644 --- a/sched/semaphore/sem_rw.c +++ b/sched/semaphore/sem_rw.c @@ -333,29 +333,29 @@ void downgrade_write(FAR rw_semaphore_t *rwsem) int init_rwsem(FAR rw_semaphore_t *rwsem) { - int ret; + int ret = OK; /* Initialize structure information */ ret = nxmutex_init(&rwsem->protected); - if (ret < 0) + if (ret >= 0) { - return ret; - } - - ret = nxsem_init(&rwsem->waiting, 0, 0); - if (ret < 0) - { - nxmutex_destroy(&rwsem->protected); - return ret; + ret = nxsem_init(&rwsem->waiting, 0, 0); + if (ret >= 0) + { + rwsem->reader = 0; + rwsem->writer = 0; + rwsem->waiter = 0; + rwsem->holder = RWSEM_NO_HOLDER; + ret = OK; + } + else + { + nxmutex_destroy(&rwsem->protected); + } } - rwsem->reader = 0; - rwsem->writer = 0; - rwsem->waiter = 0; - rwsem->holder = RWSEM_NO_HOLDER; - - return OK; + return ret; } /****************************************************************************
