First bad bad pass.
[cascardo/kernel/notes/.git] / 07.race / 2.sem_mutex / text
1 #include <linux/semaphore.h>
2 kernel/semaphore.c
3
4 down(struct *semaphore);
5 up(struct *semaphore);
6 sema_init(sem, val);
7 init_MUTEX(sem);
8 init_MUTEX_LOCKED(sem);
9 DECLARE_MUTEX(varname);
10 down_interruptible(sem);
11
12 #include <linux/mutex.h>
13 kernel/mutex.c
14 Documentation/mutex-design.txt
15
16 Implementação nova.
17 Quando? 9 Jan 2006, f3f54ffa703c6298240ffd69616451d645bae4d5
18 Rationale em Documentation/mutex-design.txt
19 Enfim, pq usar? Pq "Mingo" says so!
20
21 struct mutex
22 mutex_init(struct mutex *);
23 DEFINE_MUTEX(varname);
24 mutex_lock(mutex);
25 mutex_unlock(mutex);
26
27
28 --
29
30 Ambos dormem. Portanto, cuidado com o contexo onde usá-los.