This document specifies that the method NKern::Lock() is now obsolete and suggests alternative locking mechanisms.
This method disables the scheduler and the IDFC (Immediate Deferred Function Call), so that the currently running thread cannot be pre-empted.
This is used to prevent a thread from being re-entered while it is processing data, and so that no data will be corrupted as a result.
The NKern::Lock() method can no longer be used as a means to stop scheduling, since it only affects the core that the code is running on.
This method should be replaced with one of the following (depending on the circumstances ):
At present, the replacement of this method only affects kernel services to user side code through an executive call (these are made via the Exec class). This can occur in the following areas:
A DLogicalChannelBase derived driver
A HAL (Hardware Abstraction Layer) handle implementation
Drivers that contain multiple threads
Code which is called back in the context of an unrelated thread. For example,TTickLink or BSP (Board Support Package) drivers.
Copyright ©2010 Nokia Corporation and/or its subsidiary(-ies).
All rights
reserved. Unless otherwise stated, these materials are provided under the terms of the Eclipse Public License
v1.0.