Changeset aaa3c457 in mainline for kernel/generic/include/synch/syswaitq.h
- Timestamp:
- 2018-11-12T10:36:10Z (6 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- a43dfcb
- Parents:
- 3ce781f4 (diff), 6874bd2 (diff)
Note: this is a merge changeset, the changes displayed below correspond to the merge itself.
Use the(diff)
links above to see all the changes relative to each parent. - git-author:
- Jakub Jermář <jakub@…> (2018-11-12 10:36:10)
- git-committer:
- GitHub <noreply@…> (2018-11-12 10:36:10)
- File:
-
- 1 moved
Legend:
- Unmodified
- Added
- Removed
-
kernel/generic/include/synch/syswaitq.h
r3ce781f4 raaa3c457 1 1 /* 2 * Copyright (c) 20 06Jakub Jermar2 * Copyright (c) 2018 Jakub Jermar 3 3 * All rights reserved. 4 4 * … … 33 33 */ 34 34 35 #ifndef KERN_ FUTEX_H_36 #define KERN_ FUTEX_H_35 #ifndef KERN_SYS_WAITQ_H_ 36 #define KERN_SYS_WAITQ_H_ 37 37 38 38 #include <typedefs.h> 39 #include <synch/waitq.h> 40 #include <adt/hash_table.h> 39 #include <abi/cap.h> 41 40 42 /** Kernel-side futex structure. */ 43 typedef struct { 44 /** Physical address of the status variable. */ 45 uintptr_t paddr; 46 /** Wait queue for threads waiting for futex availability. */ 47 waitq_t wq; 48 /** Futex hash table link. */ 49 ht_link_t ht_link; 50 /** Number of tasks that reference this futex. */ 51 size_t refcount; 52 } futex_t; 41 extern void sys_waitq_init(void); 53 42 54 extern void futex_init(void); 55 extern sys_errno_t sys_futex_sleep(uintptr_t, uintptr_t); 56 extern sys_errno_t sys_futex_wakeup(uintptr_t); 43 extern void sys_waitq_task_cleanup(void); 57 44 58 extern void futex_task_cleanup(void); 59 extern void futex_task_init(struct task *); 45 extern sys_errno_t sys_waitq_create(cap_waitq_handle_t *); 46 extern sys_errno_t sys_waitq_sleep(cap_waitq_handle_t, uint32_t, unsigned int); 47 extern sys_errno_t sys_waitq_wakeup(cap_waitq_handle_t); 48 extern sys_errno_t sys_waitq_destroy(cap_waitq_handle_t); 60 49 61 50 #endif
Note:
See TracChangeset
for help on using the changeset viewer.