/[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.3 by mdj, Sun Dec 15 14:24:34 2002 UTC revision 1.4 by mdj, Mon Dec 16 09:28:38 2002 UTC
# Line 78  extern scm_t_mutexattr scm_i_plugin_mute Line 78  extern scm_t_mutexattr scm_i_plugin_mute
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    /* Size is checked in scm_init_pthread_threads */
82  #define SCM_REC_MUTEX_MAXSIZE (8 * sizeof (long))  #define SCM_REC_MUTEX_MAXSIZE (8 * sizeof (long))
83  typedef struct { char _[SCM_REC_MUTEX_MAXSIZE]; } scm_t_rec_mutex;  typedef struct { char _[SCM_REC_MUTEX_MAXSIZE]; } scm_t_rec_mutex;
84    
85  extern scm_t_mutexattr scm_i_plugin_rec_mutex;  extern scm_t_mutexattr scm_i_plugin_rec_mutex;
86    
87  #ifdef PTHREAD_MUTEX_RECURSIVE /* pthreads has recursive mutexes! */  #ifdef SCM_MUTEX_RECURSIVE /* pthreads has recursive mutexes! */
88  #define scm_i_plugin_rec_mutex_init     pthread_mutex_init  #define scm_i_plugin_rec_mutex_init(m,a) \
89  #define scm_i_plugin_rec_mutex_destroy  pthread_mutex_destroy    pthread_mutex_init ((pthread_mutex_t *) (m), (a))
90  #define scm_i_plugin_rec_mutex_lock     pthread_mutex_lock  #define scm_i_plugin_rec_mutex_destroy(m) \
91  #define scm_i_plugin_rec_mutex_trylock  pthread_mutex_trylock    pthread_mutex_destroy ((pthread_mutex_t *) (m))
92  #define scm_i_plugin_rec_mutex_unlock   pthread_mutex_unlock  #define scm_i_plugin_rec_mutex_lock(m) \
93      pthread_mutex_lock ((pthread_mutex_t *) (m))
94    #define scm_i_plugin_rec_mutex_trylock(m) \
95      pthread_mutex_trylock ((pthread_mutex_t *) (m))
96    #define scm_i_plugin_rec_mutex_unlock(m) \
97      pthread_mutex_unlock ((pthread_mutex_t *) (m))
98  #else  #else
99  int scm_i_plugin_rec_mutex_init (scm_t_rec_mutex *, const scm_t_mutexattr *);  int scm_i_plugin_rec_mutex_init (scm_t_rec_mutex *, const scm_t_mutexattr *);
100  #define scm_i_plugin_rec_mutex_destroy(mx) do { (void) (mx); } while (0)  #define scm_i_plugin_rec_mutex_destroy(mx) do { (void) (mx); } while (0)
# Line 117  int scm_i_plugin_rec_mutex_unlock (scm_t Line 123  int scm_i_plugin_rec_mutex_unlock (scm_t
123    
124  void scm_init_pthread_threads (void);  void scm_init_pthread_threads (void);
125    
126  #endif  /* SCM_THREADS_NULL_H */  #endif  /* SCM_THREADS_PTHREADS_H */
127    
128  /*  /*
129    Local Variables:    Local Variables:

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

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