/[guile]/guile/guile-core/libguile/pthread-threads.h
ViewVC logotype

Diff of /guile/guile-core/libguile/pthread-threads.h

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.2 by mdj, Mon Dec 9 13:42:58 2002 UTC revision 1.3 by mdj, Sun Dec 15 14:24:34 2002 UTC
# Line 68  Line 68 
68  #define scm_i_plugin_thread_self        pthread_self  #define scm_i_plugin_thread_self        pthread_self
69    
70  #define scm_t_mutex                     pthread_mutex_t  #define scm_t_mutex                     pthread_mutex_t
71    #define scm_t_mutexattr                 pthread_mutexattr_t
72    
73    extern scm_t_mutexattr scm_i_plugin_mutex; /* The "fast" mutex. */
74    
75  #define scm_i_plugin_mutex_init         pthread_mutex_init  #define scm_i_plugin_mutex_init         pthread_mutex_init
76  #define scm_i_plugin_mutex_destroy      pthread_mutex_destroy  #define scm_i_plugin_mutex_destroy      pthread_mutex_destroy
# Line 75  Line 78 
78  #define scm_i_plugin_mutex_trylock      pthread_mutex_trylock  #define scm_i_plugin_mutex_trylock      pthread_mutex_trylock
79  #define scm_i_plugin_mutex_unlock       pthread_mutex_unlock  #define scm_i_plugin_mutex_unlock       pthread_mutex_unlock
80    
81    #define SCM_REC_MUTEX_MAXSIZE (8 * sizeof (long))
82    typedef struct { char _[SCM_REC_MUTEX_MAXSIZE]; } scm_t_rec_mutex;
83    
84    extern scm_t_mutexattr scm_i_plugin_rec_mutex;
85    
86    #ifdef PTHREAD_MUTEX_RECURSIVE /* pthreads has recursive mutexes! */
87    #define scm_i_plugin_rec_mutex_init     pthread_mutex_init
88    #define scm_i_plugin_rec_mutex_destroy  pthread_mutex_destroy
89    #define scm_i_plugin_rec_mutex_lock     pthread_mutex_lock
90    #define scm_i_plugin_rec_mutex_trylock  pthread_mutex_trylock
91    #define scm_i_plugin_rec_mutex_unlock   pthread_mutex_unlock
92    #else
93    int scm_i_plugin_rec_mutex_init (scm_t_rec_mutex *, const scm_t_mutexattr *);
94    #define scm_i_plugin_rec_mutex_destroy(mx) do { (void) (mx); } while (0)
95    int scm_i_plugin_rec_mutex_lock (scm_t_rec_mutex *);
96    int scm_i_plugin_rec_mutex_trylock (scm_t_rec_mutex *);
97    int scm_i_plugin_rec_mutex_unlock (scm_t_rec_mutex *);
98    #endif
99    
100  #define scm_t_cond                      pthread_cond_t  #define scm_t_cond                      pthread_cond_t
101    
102  #define scm_i_plugin_cond_init          pthread_cond_init  #define scm_i_plugin_cond_init          pthread_cond_init
# Line 93  Line 115 
115    
116  #define scm_i_plugin_select             select  #define scm_i_plugin_select             select
117    
118    void scm_init_pthread_threads (void);
119    
120  #endif  /* SCM_THREADS_NULL_H */  #endif  /* SCM_THREADS_NULL_H */
121    
122  /*  /*

Legend:
Removed from v.1.2  
changed lines
  Added in v.1.3

savannah-hackers-public@gnu.org
ViewVC Help
Powered by ViewVC 1.1.26