aboutsummaryrefslogtreecommitdiff
path: root/kern/gsync.c
Commit message (Collapse)AuthorAgeFilesLines
* Fix uninitialized valueSamuel Thibault2019-08-111-1/+1
| | | | | * kern/gsync.c (temp_mapping): Initialize start address to VM_MIN_KERNEL_ADDRESS.
* Rewrite gsync so that it works with remote tasks v2Agustina Arzille2017-03-041-138/+230
|
* gsync: Avoid NULL pointer dereferenceBrent Baccala2016-11-101-9/+12
| | | | | * kern/gsync.c (gsync_wait, gsync_wake, gsync_requeue): Return immediately if task argument is TASK_NULL
* gsync: fix licenceSamuel Thibault2016-10-311-1/+1
| | | | | | | Agustina relicenced her work. * kern/gsync.c: Relicence to GPL 2+. * kern/gsync.h: Relicence to GPL 2+.
* gsync: Fix crash when task is not current taskSamuel Thibault2016-10-311-0/+9
| | | | | * kern/gsync.c (gsync_wait, gsync_wake, gsync_requeue): Return KERN_FAILURE when task != current_task().
* gsync: Fix assertion failure with MACH_LDEBUGSamuel Thibault2016-10-311-5/+5
| | | | | | | | | vm_map_lock_read calls check_simple_locks(), so we need to lock hbp after taking the vm_map read lock. * kern/gsync.c (gsync_wait): Call vm_map_lock_read before locking &hbp->lock. (gsync_wake): Likewise.
* Avoid using C99 for variable declaration for nowSamuel Thibault2016-04-171-1/+2
| | | | * kern/gsync.c (gsync_setup): Declare `i' variable out of for loop.
* Lightweight synchronization mechanismAgustina Arzille2016-04-151-0/+412
* Makefrag.am (libkernel_a_SOURCES): Add kern/gsync.c and kern/gsync.h. * include/mach/gnumach.defs (gsync_wait, gsync_wake, gsync_requeue): New routines. * include/mach/kern_return.h (KERN_TIMEDOUT, KERN_INTERRUPTED): New error codes. * kern/gsync.c: New file. * kern/gsync.h: New file. * kern/startup.c: Include <kern/gsync.h> (setup_main): Call gsync_setup.