thr0loc.h
上传用户:romrleung
上传日期:2022-05-23
资源大小:18897k
文件大小:2k
源码类别:

MySQL数据库

开发平台:

Visual C++

  1. /******************************************************
  2. The thread local storage
  3. (c) 1995 Innobase Oy
  4. Created 10/5/1995 Heikki Tuuri
  5. *******************************************************/
  6. /* This module implements storage private to each thread,
  7. a capability useful in some situations like storing the
  8. OS handle to the current thread, or its priority. */
  9. #ifndef thr0loc_h
  10. #define thr0loc_h
  11. #include "univ.i"
  12. #include "os0thread.h"
  13. /********************************************************************
  14. Initializes the thread local storage module. */
  15. void
  16. thr_local_init(void);
  17. /*================*/
  18. /***********************************************************************
  19. Creates a local storage struct for the calling new thread. */
  20. void
  21. thr_local_create(void);
  22. /*==================*/
  23. /***********************************************************************
  24. Frees the local storage struct for the specified thread. */
  25. void
  26. thr_local_free(
  27. /*===========*/
  28. os_thread_id_t id); /* in: thread id */
  29. /***********************************************************************
  30. Gets the slot number in the thread table of a thread. */
  31. ulint
  32. thr_local_get_slot_no(
  33. /*==================*/
  34. /* out: slot number */
  35. os_thread_id_t id); /* in: thread id of the thread */
  36. /***********************************************************************
  37. Sets in the local storage the slot number in the thread table of a thread. */
  38. void
  39. thr_local_set_slot_no(
  40. /*==================*/
  41. os_thread_id_t id, /* in: thread id of the thread */
  42. ulint slot_no);/* in: slot number */
  43. /***********************************************************************
  44. Returns pointer to the 'in_ibuf' field within the current thread local
  45. storage. */
  46. ibool*
  47. thr_local_get_in_ibuf_field(void);
  48. /*=============================*/
  49. /* out: pointer to the in_ibuf field */
  50. #ifndef UNIV_NONINL
  51. #include "thr0loc.ic"
  52. #endif
  53. #endif