summaryrefslogtreecommitdiff
path: root/kern/gsync.c
AgeCommit message (Collapse)Author
2019-08-11Fix uninitialized valueSamuel Thibault
* kern/gsync.c (temp_mapping): Initialize start address to VM_MIN_KERNEL_ADDRESS.
2017-03-04Rewrite gsync so that it works with remote tasks v2Agustina Arzille
2016-11-10gsync: Avoid NULL pointer dereferenceBrent Baccala
* kern/gsync.c (gsync_wait, gsync_wake, gsync_requeue): Return immediately if task argument is TASK_NULL
2016-10-31gsync: fix licenceSamuel Thibault
Agustina relicenced her work. * kern/gsync.c: Relicence to GPL 2+. * kern/gsync.h: Relicence to GPL 2+.
2016-10-31gsync: Fix crash when task is not current taskSamuel Thibault
* kern/gsync.c (gsync_wait, gsync_wake, gsync_requeue): Return KERN_FAILURE when task != current_task().
2016-10-31gsync: Fix assertion failure with MACH_LDEBUGSamuel Thibault
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.
2016-04-17Avoid using C99 for variable declaration for nowSamuel Thibault
* kern/gsync.c (gsync_setup): Declare `i' variable out of for loop.
2016-04-15Lightweight synchronization mechanismAgustina Arzille
* 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.