|
|
Wente, Andreas wrote:
>logger:
> - get logmessage
> - while sharememory is full
> - sleep 10ms <-- The problem
> - append log to shared memory
>
>reciever:
> - forever
> - sleep 10ms
> - lock sharedmemory
> - copy sharedmemory
> - unlock sharedmemory
> - write log to sqlite-db
Your receiver is waiting 10 ms too much.
It shouldn't wait at all if there's data available. But it must not
busy-wait. Therefore you need a way of being notified immediately
whenever there's data available, but sleep for as long as you need when
there isn't.
We're talking about QSystemSemaphore or QLocalSocket.
--
Thiago José Macieira - thiago.macieira AT trolltech.com
Trolltech ASA - Sandakerveien 116, NO-0402 Oslo, Norway
|
|