1
Fork 0
mirror of https://git.savannah.gnu.org/git/guile.git synced 2025-04-30 11:50:28 +02:00
guile/doc
Andy Wingo 534139e458 Support for non-blocking I/O
* doc/ref/api-io.texi (I/O Extensions): Document read_wait_fd /
  write_wait_fd members.
  (Non-Blocking I/O): New section.
* libguile/fports.c (fport_read, fport_write): Return -1 if the
  operation would block.
  (fport_wait_fd, scm_make_fptob): Add read/write wait-fd
  implementation.
* libguile/ports-internal.h (scm_t_port_type): Add read_wait_fd /
  write_wait_fd.
* libguile/ports.c (default_read_wait_fd, default_write_wait_fd): New
  functions.
  (scm_make_port_type): Initialize default read/write wait fd impls.
  (trampoline_to_c_read, trampoline_to_scm_read)
  (trampoline_to_c_write, trampoline_to_scm_write): To Scheme, a return
  of #f indicates EWOULDBLOCk.
  (scm_set_port_read_wait_fd, scm_set_port_write_wait_fd): New
  functions.
  (port_read_wait_fd, port_write_wait_fd, scm_port_read_wait_fd)
  (scm_port_write_wait_fd, port_poll, scm_port_poll): New functions.
  (scm_i_read_bytes, scm_i_write_bytes): Poll if the read or write would
  block.
* libguile/ports.h (scm_set_port_read_wait_fd)
  (scm_set_port_write_wait_fd): Add declarations.
* module/ice-9/ports.scm: Shunt port-poll and port-{read,write}-wait-fd
  to the internals module.
* module/ice-9/sports.scm (current-write-waiter):
  (current-read-waiter): Implement.
* test-suite/tests/ports.test: Adapt non-blocking test to new behavior.
* NEWS: Add entry.
2016-05-20 14:57:27 +02:00
..
maint Placate a number of `syntax-check' verifications. 2012-01-05 23:38:10 +01:00
r5rs doc: Allow compilation of r5rs.texi with Texinfo 5.0. 2013-03-07 00:05:46 +01:00
ref Support for non-blocking I/O 2016-05-20 14:57:27 +02:00
.gitignore More `.gitignore'. 2008-04-07 23:48:48 +02:00
BUGS
ChangeLog-2008 Rename ChangeLog' files to ChangeLog-2008'. 2008-09-12 21:49:58 +02:00
ChangeLog-guile-doc
gendocs_template Revert "Update Gnulib to v0.1-603-g1d16a7b" 2015-10-25 10:55:14 +00:00
goops.mail
groupings.alist Change Guile license to LGPLv3+ 2009-06-17 00:22:09 +01:00
guile-api.alist Deprecate scm_array_fill_int() 2013-04-05 22:54:14 +02:00
guile.1 bump effective version to 2.2 2011-04-11 23:45:04 +02:00
hacks.el
Makefile.am Remove doc/example-smob/ 2014-04-28 17:46:59 +02:00
NEWS merge from 1.8 branch 2006-04-16 23:18:55 +00:00
README Remove doc/example-smob/ 2014-04-28 17:46:59 +02:00
recipe-guidelines.txt
release.org doc: Update `release.org'. 2013-04-10 01:09:28 +02:00
texinfo.tex autotooling, version bump to 0.7 2008-05-20 12:10:18 +02:00
THANKS
use-cases.fig
use-cases.txt

This directory contains documentation on the Guile core.         -*-text-*-

The documentation consists of the following manuals.

- The Guile Tutorial (guile-tut.texi) contains a tutorial introduction
  to using Guile.

- The Guile Reference Manual (guile.texi) contains (or is intended to
  contain) reference documentation on all aspects of Guile.

- The Revised^5 Report on the Algorithmic Language Scheme (r5rs.texi).

Please be aware that this is all very much work in progress (apart
from the Revised^5 Report).  Bug reports and contributions are
welcome!

The `sources' directory includes some stuff relevant to the Guile
reference manual, and which may eventually be folded in to it.  It's
not immediately relevant, however, which is why it's not in this
directory.

The Revised^4 Report (r4rs.texi) is no longer in this distribution, as
it is completely superseded by the Revised^5 Report.  If you need to
consult R4RS, it is still widely available, for example at
http://www-swiss.ai.mit.edu/projects/info/SchemeDocs/r4rs/.