* Makefile.am: Added iselect.c and iselect.h.
authorMikael Djurfeldt <djurfeldt@nada.kth.se>
Thu, 27 Nov 1997 18:04:56 +0000 (18:04 +0000)
committerMikael Djurfeldt <djurfeldt@nada.kth.se>
Thu, 27 Nov 1997 18:04:56 +0000 (18:04 +0000)
commit44e8413c730126b179ba05c7f14445bef8348faf
tree02a3f0e8e9eef084af612a520d87a9688b97bf59
parent86c5044a29ff51b374fad99beb41c8cefb0c6012
* Makefile.am: Added iselect.c and iselect.h.

* coop.c (coop_qinit): Initialize fields used by
scm_internal_select.
(coop_qget, coop_qget, coop_tmp_queue): Made global.
(coop_next_runnable_thread): If GUILE_ISELECT enabled, use
replacement in iselect.c.
(coop_mutex_lock, coop_condition_variable_wait, coop_abort,
coop_join): If GUILE_ISELECT enabled, use
coop_wait_for_runnable_thread instead of
coop_next_runnable_thread.
(usleep, sleep): New replacements for system functions if
GUILE_ISELECT is enabled.

* coop-threads.h: Declare coop_wait_for_runnable_thread.

* coop-defs.h (coop_t): Added fields used by scm_internal_select.

* filesys.c: Added #include "iselect.h".  Moved FD-macros to
iselect.h.  Implement Scheme level `select' using
scm_internal_select.  (See NEWS.)

* genio.c (scm_getc): Block with scm_internal_select.  (See NEWS.)

* init.c: Call scm_init_iselect.
libguile/ChangeLog
libguile/Makefile.am
libguile/coop-defs.h
libguile/coop-threads.h
libguile/coop.c
libguile/filesys.c
libguile/genio.c
libguile/init.c