Files
Arquivotheca.SunOS-4.1.4/sys/vm/mp.h
seta75D ff309bfe1c Init
2021-10-11 18:37:13 -03:00

40 lines
919 B
C

/* @(#)mp.h 1.1 94/10/31 SMI */
/*
* Copyright (c) 1987 by Sun Microsystems, Inc.
*/
#ifndef _vm_mp_h
#define _vm_mp_h
/*
* VM - multiprocessor/ing support.
*
* Currently the kmon_enter() / kmon_exit() pair implements a
* simple monitor for objects protected by the appropriate lock.
* The kcv_wait() / kcv_broadcast pait implements a simple
* condition variable which can be used for `sleeping'
* and `waking' inside a monitor if some resource
* is needed which is not available.
*/
typedef struct kmon_t {
u_int dummy;
} kmon_t;
#define lock_init(lk) (lk)->dummy = 0
#ifndef KMON_DEBUG
#define kmon_enter(a)
#define kmon_exit(a)
#define kcv_wait(lk, cond) (void) sleep(cond, PSWP+1)
#define kcv_broadcast(lk, cond) wakeup(cond)
#else
void kmon_enter(/* lk */);
void kmon_exit(/* lk */);
void kcv_wait(/* lk, cond */);
void kcv_broadcast(/* lk, cond */);
#endif /*!KMON_DEBUG*/
#endif /*!_vm_mp_h*/