pthread_rwlock.c 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182
  1. #include "pthread_rwlock.h"
  2. int pthread_rwlockattr_init (pthread_rwlockattr_t * attr)
  3. {
  4. if (!attr) return EINVAL;
  5. *attr = PTHREAD_PROCESS_PRIVATE;
  6. return 0;
  7. }
  8. int pthread_rwlockattr_destroy (pthread_rwlockattr_t * attr)
  9. {
  10. if (!attr) return EINVAL;
  11. return 0;
  12. }
  13. int pthread_rwlockattr_getpshared (const pthread_rwlockattr_t * attr, int *pshared)
  14. {
  15. if (!attr || !pshared) return EINVAL;
  16. *pshared = PTHREAD_PROCESS_PRIVATE;
  17. return 0;
  18. }
  19. int pthread_rwlockattr_setpshared (pthread_rwlockattr_t * attr, int pshared)
  20. {
  21. if (!attr || pshared != PTHREAD_PROCESS_PRIVATE) return EINVAL;
  22. return 0;
  23. }
  24. int pthread_rwlock_init (pthread_rwlock_t * rwlock, const pthread_rwlockattr_t * attr)
  25. {
  26. return 0;
  27. }
  28. int pthread_rwlock_destroy (pthread_rwlock_t * rwlock)
  29. {
  30. return 0;
  31. }
  32. int pthread_rwlock_rdlock (pthread_rwlock_t * rwlock)
  33. {
  34. return 0;
  35. }
  36. int pthread_rwlock_tryrdlock (pthread_rwlock_t * rwlock)
  37. {
  38. if (!rwlock) return EINVAL;
  39. return 0;
  40. }
  41. int pthread_rwlock_timedrdlock (pthread_rwlock_t * rwlock, const struct timespec *abstime)
  42. {
  43. if (!rwlock) return EINVAL;
  44. return 0;
  45. }
  46. int pthread_rwlock_timedwrlock (pthread_rwlock_t * rwlock, const struct timespec *abstime)
  47. {
  48. if (!rwlock) return EINVAL;
  49. return 0;
  50. }
  51. int pthread_rwlock_trywrlock (pthread_rwlock_t * rwlock)
  52. {
  53. if (!rwlock) return EINVAL;
  54. return 0;
  55. }
  56. int pthread_rwlock_unlock (pthread_rwlock_t * rwlock)
  57. {
  58. if (!rwlock) return EINVAL;
  59. return 0;
  60. }
  61. int pthread_rwlock_wrlock (pthread_rwlock_t * rwlock)
  62. {
  63. return 0;
  64. }