選択できるのは25トピックまでです。 トピックは、先頭が英数字で、英数字とダッシュ('-')を使用した35文字以内のものにしてください。
 
 
 
 
 
 

56 行
1.7 KiB

  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_NO_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(CRYPTO_MUTEX *lock) {}
  20. void CRYPTO_MUTEX_cleanup(CRYPTO_MUTEX *lock) {}
  21. void CRYPTO_STATIC_MUTEX_lock_read(struct CRYPTO_STATIC_MUTEX *lock) {}
  22. void CRYPTO_STATIC_MUTEX_lock_write(struct CRYPTO_STATIC_MUTEX *lock) {}
  23. void CRYPTO_STATIC_MUTEX_unlock(struct CRYPTO_STATIC_MUTEX *lock) {}
  24. void CRYPTO_once(CRYPTO_once_t *once, void (*init)(void)) {
  25. if (*once) {
  26. return;
  27. }
  28. *once = 1;
  29. init();
  30. }
  31. static void *g_thread_locals[NUM_OPENSSL_THREAD_LOCALS];
  32. void *CRYPTO_get_thread_local(thread_local_data_t index) {
  33. return g_thread_locals[index];
  34. }
  35. int CRYPTO_set_thread_local(thread_local_data_t index, void *value,
  36. thread_local_destructor_t destructor) {
  37. g_thread_locals[index] = value;
  38. return 1;
  39. }
  40. #endif /* OPENSSL_NO_THREADS */