710 bytes added
, 03:42, 4 December 2016
[[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>LocalUnlock</code>. The only difference between the two last methods is that the last one never triggers SGI #8 (rescheduling signal, associated to [[KScheduler]] objects)
<code>Lock</code> / <code>Unlock</code> blocks are always used with the same object.
<code>Lock</code> / <code>LocalUnlock</code> are always used with the associated attribute of the timer/watchdog timer interrupt object.
{| class="wikitable" border="1"
|-
! Offset
! Type
! Description
|-
| 0x0
| [[KThread]] *
| Thread owning the lock
|-
| 0x4
| s32
| Lock count
|}