Cancel redefinition of DOSBase for the 'cdrom' test utility. Now the
[AROS.git] / rom / exec / freesignal.c
blobb3c86b525a55411a383cda124eb66822695ad85d
1 /*
2 Copyright © 1995-2009, The AROS Development Team. All rights reserved.
3 $Id$
5 Desc: Free a signal.
6 Lang: english
7 */
8 #include <exec/execbase.h>
9 #include <exec/tasks.h>
10 #include <aros/libcall.h>
11 #include <proto/exec.h>
13 /*****************************************************************************
15 NAME */
17 AROS_LH1(void, FreeSignal,
19 /* SYNOPSIS */
20 AROS_LHA(LONG, signalNum, D0),
22 /* LOCATION */
23 struct ExecBase *, SysBase, 56, Exec)
25 /* FUNCTION
26 Free a signal allocated with AllocSignal().
28 INPUTS
29 signalNum - Number of the signal to free or -1 to do nothing.
31 RESULT
33 NOTES
35 EXAMPLE
37 BUGS
39 SEE ALSO
40 AllocSignal(), Signal(), Wait()
42 INTERNALS
44 ******************************************************************************/
46 AROS_LIBFUNC_INIT
48 if(signalNum!=-1)
50 /* No more atomic problem - i beleive THIS is atomic. - sonic */
51 struct Task *me = SysBase->ThisTask;
53 /* Clear the bit */
54 me->tc_SigAlloc &= ~(1<<signalNum);
56 AROS_LIBFUNC_EXIT
57 } /* FreeSignal() */