DosCreateSpinLock
Appearance
Create a subsystem spinlock. This function is physical DevHlps introduced with OS/2 SMP.
Syntax
DosCreateSpinLock(PHSPINLOCK pHandle)
Parameters
Return Code
Errors
Remarks
Example Code
// OS/2 adv srv 4 SMP spinlock
extern "C" {
typedef ULONG HSPINLOCK;
typedef HSPINLOCK FAR *PHSPINLOCK;
APIRET APIENTRY DosCreateSpinLock(PHSPINLOCK pHandle);
APIRET APIENTRY DosAcquireSpinLock(HSPINLOCK Handle);
APIRET APIENTRY DosReleaseSpinLock(HSPINLOCK Handle);
APIRET APIENTRY DosFreeSpinLock(HSPINLOCK Handle);
};
class SpinLock {
HSPINLOCK sl;
public:
SpinLock() { DosCreateSpinLock(&sl); }
~SpinLock() { DosFreeSpinLock(sl); }
void Request() {
DosAcquireSpinLock(sl);
}
void Release() {
DosReleaseSpinLock(sl);
}
};
Related Functions
[[Category:]]