9fans - fans of the OS Plan 9 from Bell Labs
 help / color / mirror / Atom feed
* [9fans] OT: cannonical set of queue ops
@ 2006-12-06 16:14 Steve Simon
  2006-12-06 16:35 ` Richard Bilson
  2006-12-07 21:37 ` Russ Cox
  0 siblings, 2 replies; 6+ messages in thread
From: Steve Simon @ 2006-12-06 16:14 UTC (permalink / raw)
  To: 9fans

Hi,

Bit off topic

In an embedded system, we are trying to wrap up the specifics
of the RTOS we use and abstract it a little so we can switch
OS later (to a cheaper one :-)

We are therefore trying to come to a cannonical API, the only
part of this we are having problems are interlocked queues.

These are queues which the reader blocks if they are empty and
the writer blocks if full. They have an option for a timeout
which can be -1 to indicate forever or 0 for poll.

We have found a need for a either IsQueueEmpty() or PeekQueueHead()
entrypoint - a network driver is closing a connection a cleanup thread
needs to poll the queue so it can deallocate it once all the remaining data
has drained; we cannot just read the queue to see if its empty as this will
remove the head entry if there is one.

This is the one and only place we seem to need this so we are worried.

Are we suffering from a lack of vision, or is some way of checking the
number of items on a queue inevitable?

-Steve


^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2006-12-07 21:37 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2006-12-06 16:14 [9fans] OT: cannonical set of queue ops Steve Simon
2006-12-06 16:35 ` Richard Bilson
2006-12-06 22:36   ` LiteStar numnums
2006-12-06 22:58     ` Richard Bilson
2006-12-07  0:07       ` David Leimbach
2006-12-07 21:37 ` Russ Cox

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).