By entering this site you need to consent to the use of cookies and their functional use according to this privacy policy. Cookies help us to provide the functional services of the website. Kindly read the below message of use and consent to the use.
The following cookies are stored and shared when accessing this website:
- Internal cookies for the MediaWiki site. This is used for user authentication and article modifications.
- Third-party cookies from Google providing services for Google AdSense and Google Analytics
We will never use data collected outside of the above scope.
class [[KMutex]] extends [[KSynchronizationObject]];
class [[KMutex]] extends [[KSynchronizationObject]];
Line 20:
Line 20:
| 0x8
| 0x8
| u32
| u32
−
| KLinkedListNode count for object
+
| Node count for threads
|-
|-
| 0xC
| 0xC
−
| u32
+
| [[KLinkedListNode]]*
−
| Pointer to itself + 0x14
+
| Pointer to first KLinkedListNode in the list of threads that sync with this object
|-
|-
| 0x10
| 0x10
−
| u32
+
| [[KLinkedListNode]]*
−
| Pointer to itself + 0x14
+
| Pointer to last KLinkedListNode in the list of threads that sync with this object
|-
|-
| 0x14
| 0x14
−
| ?
+
| KMutexLinkedListNode
−
| ?
+
| Previous and next mutexes
−
|-
−
| 0x18
−
| ?
−
| ?
|-
|-
| 0x1C
| 0x1C
| u32
| u32
−
| Unknown maybe number of KThread that wait for this or use this?
+
| Threads using this mutex
|-
|-
| 0x20
| 0x20
−
| KThread *
+
| [[KThread]] *
−
| Unknown 1 locked? 0 unlocked? (but it is compared against a KThread* ?)
+
| Thread that has the KMutex locked
|-
|-
| 0x24
| 0x24
| u32
| u32
−
| Unknown 0x3F ?maybe priority?
+
| 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>.