Merged in MorphOS-specific improvements from MorphOS team.
[AROS.git] / rom / exec / remsemaphore.c
blobd9538b9c19e7964a54888a0f5f22a09fe44f57d7
1 /*
2 Copyright © 1995-2001, The AROS Development Team. All rights reserved.
3 $Id$
5 Desc: Remove a semaphore from the list of public semaphores.
6 Lang: english
7 */
9 #include "exec_intern.h"
10 #include <exec/semaphores.h>
11 #include <proto/exec.h>
13 /*****************************************************************************
15 NAME */
17 AROS_LH1(void, RemSemaphore,
19 /* SYNOPSIS */
20 AROS_LHA(struct SignalSemaphore *, sigSem, A1),
22 /* LOCATION */
23 struct ExecBase *, SysBase, 101, Exec)
25 /* FUNCTION
26 Removes a semaphore from the system public semaphore list.
28 INPUTS
29 sigSem - Pointer to semaphore structure
31 RESULT
33 NOTES
34 Semaphores are shared between the tasks that use them and must
35 therefore lie in public (or at least shared) memory.
37 EXAMPLE
39 BUGS
41 SEE ALSO
43 INTERNALS
45 *****************************************************************************/
47 AROS_LIBFUNC_INIT
49 /* Arbitrate for the semaphore list */
50 Forbid();
52 /* Remove the semaphore */
53 Remove(&sigSem->ss_Link);
55 /* All done. */
56 Permit();
57 AROS_LIBFUNC_EXIT
58 } /* RemSemaphore */