2 Copyright © 1995-2011, The AROS Development Team. All rights reserved.
5 Desc: Examine and/or modify the signals which cause an exception.
9 #include <exec/execbase.h>
10 #include <aros/libcall.h>
11 #include <proto/exec.h>
13 /*****************************************************************************
17 AROS_LH2(ULONG
, SetExcept
,
20 AROS_LHA(ULONG
, newSignals
, D0
),
21 AROS_LHA(ULONG
, signalSet
, D1
),
24 struct ExecBase
*, SysBase
, 52, Exec
)
27 Change the mask of signals causing a task exception.
30 newSignals - Set of signals causing the exception.
31 signalSet - Mask of affected signals.
34 Old mask of signals causing a task exception.
43 AllocSignal(), FreeSignal(), Wait(), SetSignal(), Signal()
49 ******************************************************************************/
53 /* Get pointer to current task */
54 struct Task
*me
= FindTask(NULL
);
57 /* Protect mask of sent signals and task lists */
63 /* Change exception mask */
64 me
->tc_SigExcept
=(old
&~signalSet
)|(newSignals
&signalSet
);
66 /* Does this change include an exception? */
67 if (me
->tc_SigExcept
& me
->tc_SigRecvd
)
69 /* Yes. Set the exception flag. */
70 me
->tc_Flags
|=TF_EXCEPT
;
72 /* And order rescheduling */