xref: /haiku/src/add-ons/kernel/file_systems/userlandfs/server/beos/lock.cpp (revision 893988af824e65e49e55f517b157db8386e8002b)
1 
2 #include "lock.h"
3 
4 int
5 beos_new_lock(beos_lock *l, const char *name)
6 {
7 	if (!l)
8 		return B_BAD_VALUE;
9 
10 	l->s = create_sem(0, name);
11 	if (l->s < 0)
12 		return l->s;
13 
14 	l->c = 1;
15 	return B_OK;
16 }
17 
18 int
19 beos_free_lock(beos_lock *l)
20 {
21 	if (!l)
22 		return B_BAD_VALUE;
23 
24 	delete_sem(l->s);
25 	return 0;
26 }
27 
28 int
29 beos_new_mlock(beos_mlock *l, long c, const char *name)
30 {
31 	if (!l)
32 		return B_BAD_VALUE;
33 
34 	l->s = create_sem(c, name);
35 	if (l->s < 0)
36 		return l->s;
37 
38 	return B_OK;
39 }
40 
41 int
42 beos_free_mlock(beos_mlock *l)
43 {
44 	if (!l)
45 		return B_BAD_VALUE;
46 
47 	delete_sem(l->s);
48 	return 0;
49 }
50 
51