This is an automated email from the ASF dual-hosted git repository. xiaoxiang pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/nuttx.git
The following commit(s) were added to refs/heads/master by this push: new b5144afd03 drivers/video/vnc: Replace direct semcount access with nxsem_get_value b5144afd03 is described below commit b5144afd03d32ab2805026d9c56576fa821481a7 Author: Jukka Laitinen <jukka.laiti...@tii.ae> AuthorDate: Wed Apr 16 08:15:50 2025 +0300 drivers/video/vnc: Replace direct semcount access with nxsem_get_value Use the dedicated nuttx internal interface for debugging semaphore value, instead of accessing it directly. Signed-off-by: Jukka Laitinen <jukka.laiti...@tii.ae> --- drivers/video/vnc/vnc_updater.c | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/drivers/video/vnc/vnc_updater.c b/drivers/video/vnc/vnc_updater.c index 54749eeb2f..bed219ebd7 100644 --- a/drivers/video/vnc/vnc_updater.c +++ b/drivers/video/vnc/vnc_updater.c @@ -127,8 +127,8 @@ static void vnc_sem_debug(FAR struct vnc_session_s *session, nqueued = sq_count(&session->updqueue); nfree = sq_count(&session->updfree); - freesem = session->freesem.semcount; - queuesem = session->queuesem.semcount; + nxsem_get_value(&session->freesem, &freesem); + nxsem_get_value(&session->queuesem, &queuesem); freecount = freesem > 0 ? freesem : 0; queuecount = queuesem > 0 ? queuesem : 0; @@ -225,6 +225,7 @@ static void vnc_free_update(FAR struct vnc_session_s *session, FAR struct vnc_fbupdate_s *update) { irqstate_t flags; + int sval; /* Reserve one element from the free list. Lock the scheduler to assure * that the sq_addlast() and the nxsem_post() are atomic. @@ -243,7 +244,9 @@ static void vnc_free_update(FAR struct vnc_session_s *session, leave_critical_section(flags); vnc_sem_debug(session, "After free", 0); - DEBUGASSERT(session->freesem.semcount <= CONFIG_VNCSERVER_NUPDATES); + + DEBUGASSERT(nxsem_get_value(&session->freesem, &sval) == 0 && + sval <= CONFIG_VNCSERVER_NUPDATES); } /**************************************************************************** @@ -322,6 +325,7 @@ static void vnc_add_queue(FAR struct vnc_session_s *session, FAR struct vnc_fbupdate_s *rect) { irqstate_t flags; + int sval; /* Lock the scheduler to assure that the sq_addlast() and the nxsem_post() * are atomic. @@ -342,7 +346,9 @@ static void vnc_add_queue(FAR struct vnc_session_s *session, leave_critical_section(flags); vnc_sem_debug(session, "After add", 0); - DEBUGASSERT(session->queuesem.semcount <= CONFIG_VNCSERVER_NUPDATES); + + DEBUGASSERT(nxsem_get_value(&session->queuesem, &sval) == 0 && + sval <= CONFIG_VNCSERVER_NUPDATES); } /****************************************************************************