Description
#define INCL_BASE
#define OS2_API16
#define INCL_DOSSPINLOCK
#include <os2.h>
#include <stdio.h>
#include <string.h>
main()
{
APIRET rc; /* Return code */
HSPINLOCK Handle; /* Handle to spin lock */
PHSPINLOCK pHandle = &Handle; /* pointer to spin lock handle */
/* Create a spin lock */
rc = DosCreateSpinLock(pHandle);
if (rc !=0)
{
printf("DosCreateSpinLock failed -- rc = %1d",rc);
DosExit(0,1);
}
/* Acquire spin lock */
rc = DosAcquireSpinLock(Handle);
if (rc !=0)
{
printf("DosAcquireSpinLock failed -- rc = %1d",rc);
DosExit(0,1);
}
/* Code that needs serialization */
/* Release spin lock */
rc = DosReleaseSpinLock(Handle);
if (rc !=0)
{
printf("DosReleaseSpinLock failed -- rc = %1d",rc);
DosExit(0,1);
}
}