Exemple #1
0
 
    NOTES
 
    The list's nodes are PubScreenNodes as defined in <intuition/screens.h>.
 
    EXAMPLE
 
    BUGS
 
    SEE ALSO
 
    UnlockPubScreenList()
 
    INTERNALS
 
*****************************************************************************/
#define GPB(x) GetPrivIBase(x)

{
    AROS_LIBFUNC_INIT

    DEBUG_LOCKPUBSCREENLIST(dprintf("LockPubScreenList: <%s>\n",
                                    FindTask(NULL)->tc_Node.ln_Name));
    ObtainSemaphore(&GPB(IntuitionBase)->PubScrListLock);
    DEBUG_LOCKPUBSCREENLIST(dprintf("LockPubScreenList: done\n"));
    
    return (struct List *)&(GPB(IntuitionBase)->PubScreenList);

    AROS_LIBFUNC_EXIT
} /* LockPubScreenList */
Exemple #2
0
    EXAMPLE

    BUGS

    SEE ALSO

    AllocMiscResource()

    INTERNALS

    HISTORY

    23.7.98   SDuvan implemented

*****************************************************************************/
{
    AROS_LIBFUNC_INIT

    ObtainSemaphore(&GPB(MiscBase)->mb_Lock);

    GPB(MiscBase)->mb_owners[unitNum] = NULL;

    ReleaseSemaphore(&GPB(MiscBase)->mb_Lock);

    AROS_LIBFUNC_EXIT
} /* FreeMiscResource */



Exemple #3
0
    EXAMPLE

    BUGS

    SEE ALSO

    ObtainDataTypeA()

    INTERNALS

    HISTORY

*****************************************************************************/
{
    AROS_LIBFUNC_INIT

    ObtainSemaphoreShared(&(GPB(DataTypesBase)->dtb_DTList)->dtl_Lock);
   
    if(dt != NULL)
    {
	if(((struct CompoundDatatype *)dt)->OpenCount)
	    ((struct CompoundDatatype*)dt)->OpenCount--;
	else
	    Alert(AN_Unknown);
    }
    
    ReleaseSemaphore(&(GPB(DataTypesBase)->dtb_DTList)->dtl_Lock);

    AROS_LIBFUNC_EXIT
} /* ReleaseDataType */
Exemple #4
0
    INTERNALS

    HISTORY

******************************************************************************/

{
    AROS_LIBFUNC_INIT

    LONG               count = 0;
    struct BrokerCopy *brokerCopy;
    CxObj             *broker;

    FreeBrokerList(CopyofList);

    ObtainSemaphore(&GPB(CxBase)->cx_SignalSemaphore);

    ForeachNode(&GPB(CxBase)->cx_BrokerList, broker)
    {
	if (CxObjType(broker) == CX_ZERO)
	{
	    break;
	}

	brokerCopy = AllocVec(sizeof(struct BrokerCopy), MEMF_PUBLIC | MEMF_CLEAR);

	if (brokerCopy == NULL)
	{
	    break;
	}