tref.c - plan9port - [fork] Plan 9 from user space | |
git clone git://src.adamsgaard.dk/plan9port | |
Log | |
Files | |
Refs | |
README | |
LICENSE | |
--- tref.c (278B) --- 1 #include "u.h" 2 #include "libc.h" 3 #include "thread.h" 4 5 static long 6 refadd(Ref *r, long a) 7 { 8 long ref; 9 10 lock(&r->lock); 11 r->ref += a; 12 ref = r->ref; 13 unlock(&r->lock); 14 return ref; 15 } 16 17 long 18 incref(Ref *r) 19 { 20 return refadd(r, 1); 21 } 22 23 long 24 decref(Ref *r) 25 { 26 return refadd(r, -1); 27 } |