pthread_lock.cc 613 B

12345678910111213141516171819202122232425262728293031323334353637
  1. #include "pthread_lock.h"
  2. PthreadLock::PthreadLock()
  3. {
  4. pthread_mutex_init(&_mutx, NULL);
  5. }
  6. PthreadLock::~PthreadLock()
  7. {
  8. pthread_mutex_destroy(&_mutx);
  9. }
  10. void PthreadLock::acquire()
  11. {
  12. pthread_mutex_lock(&_mutx);
  13. }
  14. void PthreadLock::release()
  15. {
  16. pthread_mutex_unlock(&_mutx);
  17. }
  18. __attribute__((weak)) LockImplementation* LockCreator_Default::create()
  19. {
  20. return new PthreadLock();
  21. }
  22. __attribute__((weak)) LockImplementation* LockCreator_RwLock::create()
  23. {
  24. return new PthreadLock();
  25. }
  26. __attribute__((weak)) LockImplementation* LockCreator_Spinlock::create()
  27. {
  28. return new PthreadLock();
  29. }