revert between 56095 -> 55830 in arch
[AROS.git] / rom / intuition / lockpubscreenlist.c
blob28228f32ae55ad727573553af029c8099f2fffb1
1 /*
2 Copyright © 1995-2013, The AROS Development Team. All rights reserved.
3 Copyright © 2001-2003, The MorphOS Development Team. All Rights Reserved.
4 $Id$
5 */
7 #include "intuition_intern.h"
9 /*****************************************************************************
11 NAME */
12 #include <proto/intuition.h>
14 AROS_LH0(struct List *, LockPubScreenList,
16 /* SYNOPSIS */
18 /* LOCATION */
19 struct IntuitionBase *, IntuitionBase, 87, Intuition)
21 /* FUNCTION
22 Arbitrates access to the system public screen list. This is for Public
23 Screen Manager programs only! The list should be locked for as short a
24 time as possible.
26 INPUTS
28 RESULT
30 NOTES
31 The list's nodes are PubScreenNodes as defined in
32 <intuition/screens.h>.
34 EXAMPLE
36 BUGS
38 SEE ALSO
39 UnlockPubScreenList()
41 INTERNALS
43 *****************************************************************************/
45 AROS_LIBFUNC_INIT
47 DEBUG_LOCKPUBSCREENLIST(dprintf("LockPubScreenList: <%s>\n",
48 FindTask(NULL)->tc_Node.ln_Name));
49 ObtainSemaphore(&GetPrivIBase(IntuitionBase)->PubScrListLock);
50 DEBUG_LOCKPUBSCREENLIST(dprintf("LockPubScreenList: done\n"));
52 return (struct List *)&(GetPrivIBase(IntuitionBase)->PubScreenList);
54 AROS_LIBFUNC_EXIT
55 } /* LockPubScreenList */