xincport.h 211 B

12345678910111213141516171819202122232425
  1. #include <u.h>
  2. #include <libc.h>
  3. #include <thread.h>
  4. static Lock l;
  5. void
  6. _xinc(long *p)
  7. {
  8. lock(&l);
  9. (*p)++;
  10. unlock(&l);
  11. }
  12. long
  13. _xdec(long *p)
  14. {
  15. long r;
  16. lock(&l);
  17. r = --(*p);
  18. unlock(&l);
  19. return r;
  20. }