2 Copyright © 1995-2001, The AROS Development Team. All rights reserved.
6 /*****************************************************************************
10 AROS_LH0(void, Permit,
13 struct ExecBase *, SysBase, 23, Exec)
16 This function activates the dispatcher again after a call to Permit().
23 This function preserves all registers.
30 Forbid(), Disable(), Enable()
36 ******************************************************************************/
42 .globl AROS_SLIB_ENTRY(Permit,Exec)
43 .type AROS_SLIB_ENTRY(Permit,Exec),@function
44 AROS_SLIB_ENTRY
(Permit
,Exec
):
48 /* decrement nesting count and return if there are Forbid()s left */
49 lbz scr
,TDNestCnt
(base
)
51 stw scr
,TDNestCnt
(base
)
54 /* return if there are no delayed switches pending. */
55 lwz scr
,AttnResched+
1(base
)
59 /* if IDNestCnt is not -1 taskswitches are still forbidden */
60 lwz scr
,IDNestCnt
(base
)
64 /* Unset delayed switch bit and do the delayed switch */