* coop.c (coop_finish): New function. Called at exit.
[bpt/guile.git] / libguile / async.h
index d440231..b1be782 100644 (file)
@@ -2,7 +2,7 @@
 
 #ifndef ASYNCH
 #define ASYNCH
-/*     Copyright (C) 1995,1996,1997,1998 Free Software Foundation, Inc.
+/* Copyright (C) 1995, 96, 97, 98, 2000 Free Software Foundation, Inc.
  * 
  * This program is free software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
 
 \f
 #define SCM_ASYNCP(X)  (SCM_NIMP(X) && (scm_tc16_async == SCM_GCTYP16 (X)))
-#define SCM_ASYNC(X)   ((struct scm_async *)SCM_CDR (X))
+#define SCM_ASYNC(X)   ((struct scm_async *) &SCM_CDR (X))
 
 struct scm_async
 {
-  int got_it;                  /* needs to be delivered? */
+  scm_bits_t got_it;           /* needs to be delivered? */
   SCM thunk;                   /* the handler. */
 };
 
@@ -66,19 +66,25 @@ extern unsigned int scm_mask_ints;
 extern SCM scm_gc_async;
 \f
 
-extern int scm_asyncs_pending SCM_P ((void));
-extern void scm_async_click SCM_P ((void));
-extern void scm_switch SCM_P ((void));
-extern SCM scm_async SCM_P ((SCM thunk));
-extern SCM scm_system_async SCM_P ((SCM thunk));
-extern SCM scm_async_mark SCM_P ((SCM a));
-extern SCM scm_system_async_mark SCM_P ((SCM a));
-extern SCM scm_run_asyncs SCM_P ((SCM list_of_a));
-extern SCM scm_noop SCM_P ((SCM args));
-extern SCM scm_set_tick_rate SCM_P ((SCM n));
-extern SCM scm_set_switch_rate SCM_P ((SCM n));
-extern SCM scm_unmask_signals SCM_P ((void));
-extern SCM scm_mask_signals SCM_P ((void));
-extern void scm_init_async SCM_P ((void));
+extern int scm_asyncs_pending (void);
+extern void scm_async_click (void);
+extern void scm_switch (void);
+extern SCM scm_async (SCM thunk);
+extern SCM scm_system_async (SCM thunk);
+extern SCM scm_async_mark (SCM a);
+extern SCM scm_system_async_mark (SCM a);
+extern SCM scm_run_asyncs (SCM list_of_a);
+extern SCM scm_noop (SCM args);
+extern SCM scm_set_tick_rate (SCM n);
+extern SCM scm_set_switch_rate (SCM n);
+extern SCM scm_unmask_signals (void);
+extern SCM scm_mask_signals (void);
+extern void scm_init_async (void);
 
 #endif  /* ASYNCH */
+
+/*
+  Local Variables:
+  c-file-style: "gnu"
+  End:
+*/