Here's an idea: don't add interrupt handlers when they've already been
[AROS.git] / rom / hyperlayers / unlocklayer.c
blob39661bc1b901fdce7575bd86c6b22279fd96a44b
1 /*
2 Copyright © 1995-2007, The AROS Development Team. All rights reserved.
3 $Id$
5 Desc:
6 Lang: english
7 */
8 #include <aros/libcall.h>
9 #include <proto/exec.h>
11 #define DEBUG 0
12 #include <aros/debug.h>
13 #undef kprintf
15 /*****************************************************************************
17 NAME */
18 #include <proto/layers.h>
19 #include "layers_intern.h"
21 AROS_LH1(void, UnlockLayer,
23 /* SYNOPSIS */
24 AROS_LHA(struct Layer *, layer, A0),
26 /* LOCATION */
27 struct LayersBase *, LayersBase, 17, Layers)
29 /* FUNCTION
30 Unlocks a layer for access by other tasks. A layer has
31 to be unlocked as many times as it has been locked until
32 another task can access it.
34 INPUTS
35 layer - pointer to layer to be unlocked
37 RESULT
39 NOTES
41 EXAMPLE
43 BUGS
45 SEE ALSO
47 INTERNALS
49 HISTORY
50 27-11-96 digulla automatically created from
51 layers_lib.fd and clib/layers_protos.h
53 *****************************************************************************/
55 AROS_LIBFUNC_INIT
57 D(bug("UnlockLayer(layer @ $%lx)\n", layer));
59 ReleaseSemaphore(&layer->Lock);
61 AROS_LIBFUNC_EXIT
62 } /* UnlockLayer */