thread_none.c 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. /* Copyright (c) 2015, Google Inc.
  2. *
  3. * Permission to use, copy, modify, and/or distribute this software for any
  4. * purpose with or without fee is hereby granted, provided that the above
  5. * copyright notice and this permission notice appear in all copies.
  6. *
  7. * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
  8. * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
  9. * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
  10. * SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
  11. * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
  12. * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
  13. * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */
  14. #include "internal.h"
  15. #if !defined(OPENSSL_THREADS)
  16. void CRYPTO_MUTEX_init(CRYPTO_MUTEX *lock) {}
  17. void CRYPTO_MUTEX_lock_read(CRYPTO_MUTEX *lock) {}
  18. void CRYPTO_MUTEX_lock_write(CRYPTO_MUTEX *lock) {}
  19. void CRYPTO_MUTEX_unlock_read(CRYPTO_MUTEX *lock) {}
  20. void CRYPTO_MUTEX_unlock_write(CRYPTO_MUTEX *lock) {}
  21. void CRYPTO_MUTEX_cleanup(CRYPTO_MUTEX *lock) {}
  22. void CRYPTO_STATIC_MUTEX_lock_read(struct CRYPTO_STATIC_MUTEX *lock) {}
  23. void CRYPTO_STATIC_MUTEX_lock_write(struct CRYPTO_STATIC_MUTEX *lock) {}
  24. void CRYPTO_STATIC_MUTEX_unlock_read(struct CRYPTO_STATIC_MUTEX *lock) {}
  25. void CRYPTO_STATIC_MUTEX_unlock_write(struct CRYPTO_STATIC_MUTEX *lock) {}
  26. void CRYPTO_once(CRYPTO_once_t *once, void (*init)(void)) {
  27. if (*once) {
  28. return;
  29. }
  30. *once = 1;
  31. init();
  32. }
  33. static void *g_thread_locals[NUM_OPENSSL_THREAD_LOCALS];
  34. void *CRYPTO_get_thread_local(thread_local_data_t index) {
  35. return g_thread_locals[index];
  36. }
  37. int CRYPTO_set_thread_local(thread_local_data_t index, void *value,
  38. thread_local_destructor_t destructor) {
  39. g_thread_locals[index] = value;
  40. return 1;
  41. }
  42. #endif // !OPENSSL_THREADS