KRecursiveLock

From 3dbrew
Revision as of 04:42, 4 December 2016 by TuxSH (talk | contribs) (Created page with "Category:Kernel objects Size : 0x8 bytes Used to implement critical sections, etc. This class has 3 methods : <code>Lock</code>, <code>Unlock</code>, and <code>LocalUnlo...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

Size : 0x8 bytes

Used to implement critical sections, etc.

This class has 3 methods : Lock, Unlock, and LocalUnlock. The only difference between the two last methods is that the last one never triggers SGI #8 (rescheduling signal, associated to KScheduler objects)

Lock / Unlock blocks are always used with the same object.

Lock / LocalUnlock are always used with the associated attribute of the timer/watchdog timer interrupt object.

Offset Type Description
0x0 KThread * Thread owning the lock
0x4 s32 Lock count