KMutex: Difference between revisions
No edit summary |
No edit summary |
||
(3 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
[[Category:Kernel objects]] | [[Category:Kernel synchronization objects]] | ||
class [[KMutex]] extends [[KSynchronizationObject]]; | class [[KMutex]] extends [[KSynchronizationObject]]; | ||
Line 11: | Line 11: | ||
|- | |- | ||
| 0x0 | | 0x0 | ||
| [[ | | u32 | ||
| | | Pointer to vtable | ||
|- | |||
| 0x4 | |||
| u32 | |||
| Reference count | |||
|- | |||
| 0x8 | |||
| u32 | |||
| Node count for threads | |||
|- | |||
| 0xC | |||
| [[KLinkedListNode]]* | |||
| Pointer to first KLinkedListNode in the list of threads that sync with this object | |||
|- | |||
| 0x10 | |||
| [[KLinkedListNode]]* | |||
| Pointer to last KLinkedListNode in the list of threads that sync with this object | |||
|- | |- | ||
| 0x14 | | 0x14 | ||
| | | KMutexLinkedListNode | ||
| | | Previous and next mutexes | ||
|- | |- | ||
| 0x1C | | 0x1C | ||
Line 39: | Line 51: | ||
|- | |- | ||
|} | |} | ||
With the following declarations: <code>struct KMutexLinkedList { KMutex *first, *last; };</code> and <code>struct KMutexLinkedListNode { KMutex *prev, *next; };</code>. |