my_pthread.h
上传用户:jmzj888
上传日期:2007-01-02
资源大小:220k
文件大小:2k
源码类别:

MySQL数据库

开发平台:

Visual C++

  1. /* Copyright Abandoned 1996 TCX DataKonsult AB & Monty Program KB & Detron HB
  2.    This file is public domain and comes with NO WARRANTY of any kind */
  3. /* Defines to make different thread packages compatible */
  4. #ifndef _my_pthread_h
  5. #define _my_pthread_h
  6. #ifdef HAVE_rts_threads
  7. #define sigwait org_sigwait
  8. #include <signal.h>
  9. #undef sigwait
  10. #endif
  11. #include <pthread.h>
  12. #ifdef HAVE_THRSETCONCURRENCY
  13. #include <thread.h> /* Probably solaris */
  14. #endif
  15. extern void my_thread_init(void);
  16. #if defined(HAVE_rts_thread)
  17. void *my_pthread_getspecific(pthread_key_t key);
  18. int my_sigwait(sigset_t *set,int *sig);
  19. extern int my_pthread_create_detached;
  20. #define pthread_sigmask(A,B,C) sigprocmask((A),(B),(C))
  21. #define my_pthread_setprio(A,B) pthread_setprio_np((A),(B))
  22. #define my_pthread_attr_setprio(A,B) pthread_attr_setprio((A),(B))
  23. #define PTHREAD_MUTEX_INITIALIZER {} /* should work in most cases */
  24. #define PTHREAD_COND_INITIALIZER {}
  25. #define PTHREAD_CREATE_DETACHED &my_pthread_create_detached
  26. #define PTHREAD_SCOPE_SYSTEM  PTHREAD_SCOPE_GLOBAL
  27. #define PTHREAD_SCOPE_PROCESS PTHREAD_SCOPE_LOCAL
  28. #define USE_ALARM_THREAD
  29. #elif defined(HAVE_mit_thread)
  30. #define USE_ALARM_THREAD
  31. #define sigset(A,B) pthread_signal((A),(void (*)(int)) (B))
  32. #define signal(A,B) pthread_signal((A),(void (*)(int)) (B))
  33. #define my_pthread_attr_setprio(A,B)
  34. #define my_pthread_getspecific(A) pthread_getspecific(A)
  35. #define my_sigwait(A,B) sigwait((A),(B))
  36. #else /* POSIX THREADS */
  37. #define my_pthread_getspecific(A) pthread_getspecific(A)
  38. #define my_sigwait(A,B) sigwait((A),(B))
  39. extern void my_pthread_setprio(pthread_t thread_id,int prior);
  40. extern void my_pthread_attr_setprio(pthread_attr_t *attr, int priority);
  41. #endif
  42. #endif /* _my_ptread_h */