Export <slot> from GOOPS
[bpt/guile.git] / libguile / null-threads.h
index 521add2..116b845 100644 (file)
@@ -3,21 +3,22 @@
 #ifndef SCM_NULL_THREADS_H
 #define SCM_NULL_THREADS_H
 
-/* Copyright (C) 2005 Free Software Foundation, Inc.
+/* Copyright (C) 2005, 2006, 2010 Free Software Foundation, Inc.
  *
  * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
+ * modify it under the terms of the GNU Lesser General Public License
+ * as published by the Free Software Foundation; either version 3 of
+ * the License, or (at your option) any later version.
  *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * This library is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  * Lesser General Public License for more details.
  *
  * You should have received a copy of the GNU Lesser General Public
  * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+ * 02110-1301 USA
  */
 
 \f
    goal.
 */
 
+#include <stdlib.h>
 #include <errno.h>
 
-/* Threads 
+/* Threads
 */
 #define scm_i_pthread_t                     int
 #define scm_i_pthread_self()                0
 #define scm_i_pthread_create(t,a,f,d)       (*(t)=0, (void)(f), ENOSYS)
 #define scm_i_pthread_detach(t)             do { } while (0)
-#define scm_i_pthread_exit(v)               exit(0)
+#define scm_i_pthread_exit(v)               exit (EXIT_SUCCESS)
+#define scm_i_pthread_cancel(t)             0
+#define scm_i_pthread_cleanup_push(t,v)     0
+#define scm_i_pthread_cleanup_pop(e)        0
 #define scm_i_sched_yield()                 0
 
 /* Signals
 /* Mutexes
  */
 #define SCM_I_PTHREAD_MUTEX_INITIALIZER     0
-#define SCM_I_PTHREAD_RECURSIVE_MUTEX_INITIALIZER     0
 #define scm_i_pthread_mutex_t               int
 #define scm_i_pthread_mutex_init(m,a)       (*(m) = 0)
 #define scm_i_pthread_mutex_destroy(m)      do { (void)(m); } while(0)
 #define scm_i_pthread_mutex_trylock(m)      ((*(m))++)
 #define scm_i_pthread_mutex_lock(m)         ((*(m))++)
 #define scm_i_pthread_mutex_unlock(m)       ((*(m))--)
+#define scm_i_pthread_mutexattr_recursive   0
 
 /* Condition variables
  */
@@ -93,7 +98,7 @@ SCM_API int scm_i_pthread_key_create (scm_i_pthread_key_t *key,
 /* Convenience functions
  */
 #define scm_i_scm_pthread_mutex_lock        scm_i_pthread_mutex_lock
-#define scm_i_frame_pthread_mutex_lock      scm_i_pthread_mutex_lock
+#define scm_i_dynwind_pthread_mutex_lock    scm_i_pthread_mutex_lock
 #define scm_i_scm_pthread_cond_wait         scm_i_pthread_cond_wait
 #define scm_i_scm_pthread_cond_timedwait    scm_i_pthread_cond_timedwait