KMutex: Difference between revisions

Bond697 (talk | contribs)
size + start of object for KMutex
No edit summary
 
(15 intermediate revisions by 4 users not shown)
Line 1: Line 1:
[[Category:Kernel objects]]
[[Category:Kernel synchronization objects]]
class [[KMutex]] extends [[KSynchronizationObject]];
class [[KMutex]] extends [[KSynchronizationObject]];


Line 20: Line 20:
| 0x8
| 0x8
| u32
| u32
| Unknown
| Node count for threads
|-
|-
| 0xC
| 0xC
| u32
| [[KLinkedListNode]]*
| Pointer to itself
| Pointer to first KLinkedListNode in the list of threads that sync with this object
|-
|-
| 0x10
| 0x10
| u32
| [[KLinkedListNode]]*
| Pointer to above
| Pointer to last KLinkedListNode in the list of threads that sync with this object
|-
|-
| 0x14
| 0x14
| u32
| KMutexLinkedListNode
| Unknown
| Previous and next mutexes
|-
| 0x18
| u32
| Unknown
|-
|-
| 0x1C
| 0x1C
| u32
| u32
| Unknown
| Threads using this mutex
|-
|-
| 0x20
| 0x20
| u32
| [[KThread]] *
| Unknown
| Thread that has the KMutex locked
|-
|-
| 0x24
| 0x24
| u32
| u32
| Unknown
| Priority
|-
|-
| 0x28
| 0x28
| KProcess*
| [[KProcess]]*
| Owner
| Owner
|-
|-
|}
With the following declarations: <code>struct KMutexLinkedList { KMutex *first, *last; };</code> and <code>struct KMutexLinkedListNode { KMutex *prev, *next; };</code>.