This is nonBusyMutex.h in view mode; [Download] [Up]
// ------------------------------------------------------------------------------------- // nonBusyMutex.h // ------------------------------------------------------------------------------------- #import <mach/cthreads.h> #import <stdio.h> // ------------------------------------------------------------------------------------- // redefined mutex routines #define mutexAlloc nb_mutex_alloc #define mutexInit nb_mutex_init #define mutexClear nb_mutex_clear #define mutexFree nb_mutex_free #define mutexTryLock nb_mutex_try_lock #define mutexLock nb_mutex_lock #define mutexUnlock nb_mutex_unlock #define mutexName nb_mutex_name #define mutexSetName nb_mutex_set_name #define conditionAlloc condition_alloc #define conditionFree condition_free #define conditionInit condition_init #define conditionClear condition_clear #define conditionWait nb_condition_wait #define conditionBroadcast condition_broadcast #define conditionSignal condition_signal // ------------------------------------------------------------------------------------- // nonBusy mutex structure typedef struct nb_mutex_s { struct mutex m; struct condition c; int l; } *nb_mutex_t; // ------------------------------------------------------------------------------------- nb_mutex_t nb_mutex_alloc(); void nb_mutex_init(nb_mutex_t m); void nb_mutex_clear(nb_mutex_t m); void nb_mutex_free(nb_mutex_t m); int nb_mutex_try_lock(nb_mutex_t m); void nb_mutex_lock(nb_mutex_t m); void nb_mutex_unlock(nb_mutex_t m); char *nb_mutex_name(nb_mutex_t m); void nb_mutex_set_name(nb_mutex_t m, char *name); void nb_condition_wait(condition_t c, nb_mutex_t n);
These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.