Other Synchronisation APIs

This document describes APIs other than the nanokernel which device drivers use for synchronisation.

The Kernel provides APIs to wait in blocked state, unblocked state, and nanokernel APIs to get the tick period, timer ticks, to sleep on nanothread, and so on.

// Wait for a length of time specified in nanoseconds
// This is a blocking call, and is not generally recommended
// to be used. It should be used only for very short periods.
//
Kern::NanoWait(TUint32 aInterval);
 
// This API polls at specified regular intervals, for a
// specified number of attempts. A function implementing the polling
// operation is called at these intervals. This does not block the 
// thread. The poll period is in milliseconds.
// 
TInt Kern:: PollingWait(TPollFunction aFunction, TAny *aPtr, 
                TInt aPollPeriodMs, TInt aMaxPoll);