1 619085f0 2004-12-25 devnull #include "u.h"
2 619085f0 2004-12-25 devnull #include "libc.h"
3 619085f0 2004-12-25 devnull #include "thread.h"
5 619085f0 2004-12-25 devnull static long
6 619085f0 2004-12-25 devnull refadd(Ref *r, long a)
10 619085f0 2004-12-25 devnull lock(&r->lock);
11 619085f0 2004-12-25 devnull r->ref += a;
12 619085f0 2004-12-25 devnull ref = r->ref;
13 619085f0 2004-12-25 devnull unlock(&r->lock);
14 619085f0 2004-12-25 devnull return ref;
18 619085f0 2004-12-25 devnull incref(Ref *r)
20 619085f0 2004-12-25 devnull return refadd(r, 1);
24 619085f0 2004-12-25 devnull decref(Ref *r)
26 619085f0 2004-12-25 devnull return refadd(r, -1);