Unit 'Intuition' Package
[Overview][Constants][Types][Procedures and functions][Variables][Index] [#aros]

LockIBase

Invoke semaphore arbitration of TIntuitionBase.

Declaration

Source position: intuition.pas line 3256

function LockIBase(

  LockNumber: LongWord

):LongWord;

Arguments

LockNumber

  

Which fields of Intuition should be locked. The only allowed value for this is currently 0 which means to lock everything.

Function result

The result of this function must be passed to UnlockIBase().

Description

Grabs Intuition internal semaphore so that caller may examine TIntuitionBase safely. This function is not a magic "fix all my race conditions" panacea.

The idea here is that you can get the locks Intuition needs before such IntuitionBase fields as ActiveWindow and FirstScreen are changed, or linked lists of windows and screens are changed.

Do Not Get Tricky with this entry point, and do not hold these locks for long, as all Intuition input processing will wait for you to surrender the lock by a call to UnlockIBase().

Note Well: A call to this function must be paired with a subsequent call to UnlockIBase(), and soon, please.

Note Well: Do not call any Intuition functions (nor any graphics, layers, dos, or other high-level system function) while holding this lock.

See also

UnlockIBase

  

Release a an Intuition lock gotten by LockIBase().


Documentation generated on: 2021-07-30