Jump to content

DosFreeSpinLock: Difference between revisions

From EDM2
No edit summary
Erdmann (talk | contribs)
No edit summary
 
(4 intermediate revisions by the same user not shown)
Line 1: Line 1:
Free a subsystem spinlock  
Free a spinlock for multiprocessor serialization.


==Syntax==
==Syntax==
  APIRET DosFreeSpinLock ([[HSPINLOCK]] Handle)
  APIRET APIENTRY DosFreeSpinLock ([[HSPINLOCK]] Handle)


==Parameters==
==Parameters==
; Handle : the spinlock handle returned from DosCreateSpinLock  
;Handle ([[HSPINLOCK]]):A handle to a spinlock. This handle was returned on the DosCreateSpinLock api call.


==Return Code==
==Return Code==
Line 12: Line 12:


==Remarks==
==Remarks==
DosFreeSpinLock frees a spinlock created by a call to DosCreateSpinLock.  
DosFreeSpinLock is passed the handle which was returned by DosCreateSpinLock.


==Example Code==
==Example Code==
Line 40: Line 40:


==Related Functions==
==Related Functions==
*[[DosCreateSpinLock]]
*[[DosAcquireSpinLock]]
*[[DosReleaseSpinLock]]


[[Category:DevHlps]]
[[Category:Dos]]

Latest revision as of 10:12, 19 July 2023

Free a spinlock for multiprocessor serialization.

Syntax

APIRET APIENTRY DosFreeSpinLock (HSPINLOCK Handle)

Parameters

Handle (HSPINLOCK)
A handle to a spinlock. This handle was returned on the DosCreateSpinLock api call.

Return Code

  • NO_ERROR
  • ERROR_INVALID_HANDLE

Remarks

DosFreeSpinLock is passed the handle which was returned by DosCreateSpinLock.

Example Code

#define INCL_DOSSPINLOCK
 #include <os2.h>
 HSPINLOCK hspin;
 
 thread1() {
   //acquire spinlock
   DosAcquireSpinLock(hspin);
   //do something that only takes a few microseconds
   ...
   //release spinlock
   DosReleaseSpinLock(hspin);
 }
 
 void main() {
   //create spinlock
   DosCreateSpinLock(&hspin);
   //do something
   ...
   //destroy spinlock
   DosFreeSpinLock(hspin);
 }

Related Functions