a1200   NEWS   APPS   DOCS   ABOUT
a1200
----
a1200
----
Autodocs
 Libraries:
 intuition.library
  ActivateGadget
  ActivateWindow
  AddClass
  AddGList
  AddGadget
  AllocRemember
  AllocScreenBuffer
  AutoRequest
  BeginRefresh
  BuildEasyRequestArgs
  BuildSysRequest
  ChangeScreenBuffer
  ChangeWindowBox
  ClearDMRequest
  ClearMenuStrip
  ClearPointer
  CloseScreen
  CloseWindow
  CloseWorkBench
  CurrentTime
  DisplayAlert
  DisplayBeep
  DisposeObject
  DoGadgetMethodA
  DoubleClick
  DrawBorder
  DrawImage
  DrawImageState
  EasyRequestArgs
  EndRefresh
  EndRequest
  EraseImage
  FreeClass
  FreeRemember
  FreeScreenBuffer
  FreeScreenDrawInfo
  FreeSysRequest
  GadgetMouse
  GetAttr
  GetDefPrefs
  GetDefaultPubScreen
  GetPrefs
  GetScreenData
  GetScreenDrawInfo
  HelpControl
  InitRequester
  IntuiTextLength
  ItemAddress
  LendMenus
  LockIBase
  LockPubScreen
  LockPubScreenList
  MakeClass
  MakeScreen
  ModifyIDCMP
  ModifyProp
  MoveScreen
  MoveWindow
  MoveWindowInFrontOf
  NewModifyProp
  NewObject
  NextObject
  NextPubScreen
  ObtainGIRPort
  OffGadget
  OffMenu
  OnGadget
  OnMenu
  OpenScreen
  OpenScreenTagList
  OpenWindow
  OpenWindowTagList
  OpenWorkBench
  PointInImage
  PrintIText
  PubScreenStatus
  QueryOverscan
  RefreshGList
  RefreshGadgets
  RefreshWindowFrame
  ReleaseGIRPort
  RemakeDisplay
  RemoveClass
  RemoveGList
  RemoveGadget
  ReportMouse
  Request
  ResetMenuStrip
  RethinkDisplay
  ScreenDepth
  ScreenPosition
  ScreenToBack
  ScreenToFront
  ScrollWindowRaster
  SetAttrsA
  SetDMRequest
  SetDefaultPubScreen
  SetEditHook
  SetGadgetAttrsA
  SetMenuStrip
  SetMouseQueue
  SetPointer
  SetPrefs
  SetPubScreenModes
  SetWindowPointerA
  SetWindowTitles
  ShowTitle
  SizeWindow
  SysReqHandler
  TimedDisplayAlert
  UnlockIBase
  UnlockPubScreen
  UnlockPubScreenList
  ViewAddress
  ViewPortAddress
  WBenchToBack
  WBenchToFront
  WindowLimits
  WindowToBack
  WindowToFront
  ZipWindow
Include
GuruMeditation
Docs » Autodocs » intuition.library » LockIBase

NAME

	LockIBase -- Invoke semaphore arbitration of IntuitionBase.

SYNOPSIS

	Lock = LockIBase( LockNumber )
D0 D0
ULONG LockIBase( ULONG );

FUNCTION

	Grabs Intuition internal semaphore so that caller may examine
IntuitionBase 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.

INPUTS

	A long unsigned integer, LockNumber, specifies which of Intuition's
internal locks you want to get. This parameter should be zero for all
forseeable uses of this function, which will let you examine active
fields and linked lists of screens and windows with safety.

RESULT

	Returns another ULONG which should be passed to UnlockIBase() to
surrender the lock gotten by this call.

BUGS

	This function must not be called while holding any other system locks
such as layer or LayerInfo locks.

SEE ALSO

UnlockIBase(), layers.library/LockLayerInfo(), exec.library/ObtainSemaphore()

Comments

Name:
E-mail: Use this if you want a message if you get a response, will not be shown.
Comment:
Select correct short for:

The Black Lotus

AOA
TBL
DJ
ATX

Comments:

$VER: d0.se 1.14 Copyright © 2011-2024 Tobias Geijersson support at d0 dot se