/* | |
* Atomic reference counts - used by applications. | |
* | |
* We use locks to avoid the assembly of the Plan 9 versions. | |
*/ | |
#include "threadimpl.h" | |
void | |
incref(Ref *r) | |
{ | |
lock(&r->lk); | |
r->ref++; | |
unlock(&r->lk); | |
} | |
long | |
decref(Ref *r) | |
{ | |
long n; | |
lock(&r->lk); | |
n = --r->ref; | |
unlock(&r->lk); | |
return n; | |
} |