Loading...
stdlib/FreeBSD/psort.c Libc-1725.40.4 Libc-1044.1.2
--- Libc/Libc-1725.40.4/stdlib/FreeBSD/psort.c
+++ Libc/Libc-1044.1.2/stdlib/FreeBSD/psort.c
@@ -42,11 +42,8 @@
 #include <libkern/OSAtomic.h>
 #include <sys/mman.h>
 #include <errno.h>
-#include <os/lock.h>
 #define __APPLE_API_PRIVATE
 #include <machine/cpu_capabilities.h>
-
-#include "libc_private.h" // for LIBC_ABORT
 
 #ifdef I_AM_PSORT_R
 typedef int		 cmp_t(void *, const void *, const void *);
@@ -98,7 +95,7 @@
     size_t turnoff;
     dispatch_queue_t queue;
     dispatch_group_t group;
-    os_unfair_lock sharedlock;
+    OSSpinLock sharedlock;
 };
 
 static union args *
@@ -106,7 +103,7 @@
 {
     union args *args;
 
-    os_unfair_lock_lock(&shared->sharedlock);
+    OSSpinLockLock(&shared->sharedlock);
     if(!shared->freelist) {
 	struct page *page;
 	union args *prev;
@@ -124,17 +121,17 @@
     }
     args = shared->freelist;
     shared->freelist = args->next;
-    os_unfair_lock_unlock(&shared->sharedlock);
+    OSSpinLockUnlock(&shared->sharedlock);
     return args;
 }
 
 static void
 returnargs(struct shared *shared, union args *args)
 {
-    os_unfair_lock_lock(&shared->sharedlock);
+    OSSpinLockLock(&shared->sharedlock);
     args->next = shared->freelist;
     shared->freelist = args;
-    os_unfair_lock_unlock(&shared->sharedlock);
+    OSSpinLockUnlock(&shared->sharedlock);
 }
 
 /*
@@ -155,7 +152,9 @@
 	es % sizeof(long) ? 2 : es == sizeof(long)? 0 : 1;
 
 static inline void
-swapfunc(char *a, char *b, int n, int swaptype)
+swapfunc(a, b, n, swaptype)
+	char *a, *b;
+	int n, swaptype;
 {
 	if(swaptype <= 1)
 		swapcode(long, a, b, n)
@@ -375,7 +374,7 @@
 		union args *args;
 
 		bzero(&shared, sizeof(shared));
-		shared.sharedlock = OS_UNFAIR_LOCK_INIT;
+		shared.sharedlock = OS_SPINLOCK_INIT;
 		if ((args = getargs(&shared)) != NULL) {
 			struct page *p, *pp;
 #ifdef I_AM_PSORT_R