KMutex: Difference between revisions
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 | ||
| | | Node count for threads | ||
|- | |- | ||
| 0xC | | 0xC | ||
| | | [[KLinkedListNode]]* | ||
| Pointer to | | Pointer to first KLinkedListNode in the list of threads that sync with this object | ||
|- | |- | ||
| 0x10 | | 0x10 | ||
| | | [[KLinkedListNode]]* | ||
| Pointer to | | Pointer to last KLinkedListNode in the list of threads that sync with this object | ||
|- | |- | ||
| 0x14 | | 0x14 | ||
| | | KMutexLinkedListNode | ||
| | | Previous and next mutexes | ||
|- | |- | ||
| 0x1C | | 0x1C | ||
| u32 | | u32 | ||
| | | Threads using this mutex | ||
|- | |- | ||
| 0x20 | | 0x20 | ||
| | | [[KThread]] * | ||
| | | Thread that has the KMutex locked | ||
|- | |- | ||
| 0x24 | | 0x24 | ||
| u32 | | u32 | ||
| | | 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>. |