1int owner();
2int clear();
3
4static void fixup() {
5   clear();
6}
7
8inline __attribute__ ((always_inline))
9void slowtrylock(void) {
10     if (owner())
11         fixup();
12}
13
14void fasttrylock(void (*slowfn)()) {
15     slowfn();
16}
17
18void trylock(void) {
19     fasttrylock(slowtrylock);
20}
21