Skip to content

Commit 570da72

Browse files
committed
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 <[email protected]>
1 parent 28ad852 commit 570da72

File tree

1 file changed

+10
-4
lines changed

1 file changed

+10
-4
lines changed

Diff for: drivers/video/vnc/vnc_updater.c

+10-4
Original file line numberDiff line numberDiff line change
@@ -127,8 +127,8 @@ static void vnc_sem_debug(FAR struct vnc_session_s *session,
127127
nqueued = sq_count(&session->updqueue);
128128
nfree = sq_count(&session->updfree);
129129

130-
freesem = session->freesem.semcount;
131-
queuesem = session->queuesem.semcount;
130+
nxsem_get_value(&session->freesem, &freesem);
131+
nxsem_get_value(&session->queuesem, &queuesem);
132132

133133
freecount = freesem > 0 ? freesem : 0;
134134
queuecount = queuesem > 0 ? queuesem : 0;
@@ -225,6 +225,7 @@ static void vnc_free_update(FAR struct vnc_session_s *session,
225225
FAR struct vnc_fbupdate_s *update)
226226
{
227227
irqstate_t flags;
228+
int sval;
228229

229230
/* Reserve one element from the free list. Lock the scheduler to assure
230231
* 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,
243244

244245
leave_critical_section(flags);
245246
vnc_sem_debug(session, "After free", 0);
246-
DEBUGASSERT(session->freesem.semcount <= CONFIG_VNCSERVER_NUPDATES);
247+
248+
DEBUGASSERT(nxsem_get_value(&session->freesem, &sval) == 0 &&
249+
sval <= CONFIG_VNCSERVER_NUPDATES);
247250
}
248251

249252
/****************************************************************************
@@ -322,6 +325,7 @@ static void vnc_add_queue(FAR struct vnc_session_s *session,
322325
FAR struct vnc_fbupdate_s *rect)
323326
{
324327
irqstate_t flags;
328+
int sval;
325329

326330
/* Lock the scheduler to assure that the sq_addlast() and the nxsem_post()
327331
* are atomic.
@@ -342,7 +346,9 @@ static void vnc_add_queue(FAR struct vnc_session_s *session,
342346

343347
leave_critical_section(flags);
344348
vnc_sem_debug(session, "After add", 0);
345-
DEBUGASSERT(session->queuesem.semcount <= CONFIG_VNCSERVER_NUPDATES);
349+
350+
DEBUGASSERT(nxsem_get_value(&session->queuesem, &sval) == 0 &&
351+
sval <= CONFIG_VNCSERVER_NUPDATES);
346352
}
347353

348354
/****************************************************************************

0 commit comments

Comments
 (0)