2 Copyright © 1995-2001, The AROS Development Team. All rights reserved.
5 Desc: Exec function Permit
9 /******************************************************************************
12 AROS_LH0(void, Permit,
15 struct ExecBase *, SysBase, 23, Exec)
18 This function activates the dispatcher again after a call to Permit().
25 This function preserves all registers.
31 Forbid(), Disable(), Enable()
37 ******************************************************************************/
43 .globl AROS_SLIB_ENTRY(Permit,Exec)
44 .type AROS_SLIB_ENTRY(Permit,Exec),@function
45 AROS_SLIB_ENTRY
(Permit
,Exec
):
47 /* Preserve used registers */
54 /* Decrement and test TDNestCnt */
55 subq.
b #1,TDNestCnt(%a6)
58 /* return if there are no delayed switches pending. */
59 btst
#7,AttnResched+1(%a6)
62 /* if IDNestCnt is not -1 taskswitches are still forbidden */
66 /* Unset delayed switch bit and do the delayed switch */
67 bclr #7,AttnResched+1(%a6)