Re: how to implement the function getmsgwait() from memory queue?
From: Lev Walkin (vlm_at_lionet.info)
Date: 09/07/04
- Next message: QNils_O=2E_Sel=E5sdal=22?=: "Re: how to implement the function getmsgwait() from memory queue?"
- Previous message: Lew Pitcher: "Re: a fork() (and no spoons)"
- In reply to: Jaguk Ku: "how to implement the function getmsgwait() from memory queue?"
- Next in thread: QNils_O=2E_Sel=E5sdal=22?=: "Re: how to implement the function getmsgwait() from memory queue?"
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Date: Tue, 07 Sep 2004 06:13:46 -0700
Jaguk Ku wrote:
> Hi there,
>
> I made a shared memory queue, and i implemented the function getmsg() from
> the queue.
>
> the function getmsg() works like this
>
> getmsg()
> {
> lock the queue
> check the stored count
> read the stored item
> unlock the queue
> }
>
> if there is no stored item, i have to call getmsg() function continuously.
> i don't like this.
> i would like to make function, getmsgwait(int waittime) which can wait until
> some item is stored in the queue or waittime expires.
>
> Would anyone like to tell me how to implement it
use condition variables and broadcast insertion of a new item into the queue.
in posix world, it's pthread_cond_init(3)/pthread_cond_broadcast(3).
Use pthread_cond_timedwait(3) to implement waittime.
-- Lev Walkin vlm@lionet.info
- Next message: QNils_O=2E_Sel=E5sdal=22?=: "Re: how to implement the function getmsgwait() from memory queue?"
- Previous message: Lew Pitcher: "Re: a fork() (and no spoons)"
- In reply to: Jaguk Ku: "how to implement the function getmsgwait() from memory queue?"
- Next in thread: QNils_O=2E_Sel=E5sdal=22?=: "Re: how to implement the function getmsgwait() from memory queue?"
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Relevant Pages
|