1
Fork 0
mirror of https://git.savannah.gnu.org/git/guile.git synced 2025-04-30 20:00:19 +02:00
guile/doc/ref
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
..
.gitignore add www-commit rule in doc/ref 2010-12-17 16:41:58 +01:00
api-binding.texi Implement R7RS 'define-values'. 2014-02-02 03:28:23 -05:00
api-compound.texi Fix bit-count* bug 2014-07-04 16:52:29 +02:00
api-control.texi Merge remote-tracking branch 'origin/stable-2.0' 2014-04-28 18:51:21 +02:00
api-coverage.texi No more VM objects visible to Scheme 2013-11-21 16:45:03 +01:00
api-data.texi Merge commit '5af307de43' 2015-01-22 12:50:18 +01:00
api-debug.texi Frame <binding> objects capture frame, can ref value directly 2016-01-31 11:15:58 +01:00
api-deprecated.texi a number of doc fixes 2010-08-16 21:36:14 -07:00
api-evaluation.texi Merge branch 'stable-2.0' 2014-09-30 03:50:47 -04:00
api-foreign-objects.texi Remove SMOB tutorial; update manual. 2014-04-28 17:45:07 +02:00
api-foreign.texi Fix typo in manual. 2014-02-27 22:26:05 -05:00
api-i18n.texi Fix minor mistakes in documentation. 2013-09-30 12:46:01 -04:00
api-init.texi
api-io.texi Support for non-blocking I/O 2016-05-20 14:57:27 +02:00
api-lalr.texi Manual sections don't need a page break before 2010-10-31 08:34:05 +00:00
api-languages.texi Merge branch 'wip-manual-2' 2010-04-16 22:26:32 +01:00
api-macros.texi Merge commit 'f6ddf827f8' 2014-02-07 14:51:42 +01:00
api-memory.texi Merge remote-tracking branch 'origin/stable-2.0' 2014-04-28 18:51:21 +02:00
api-modules.texi docs: Fix documented return type of 'scm_c_export'. 2014-10-01 19:13:34 -04:00
api-options.texi Use version 2.2 in manual examples 2013-11-28 10:57:42 +01:00
api-overview.texi Manual typo fix 2010-12-23 12:17:26 +00:00
api-peg.texi PEG Renames 2013-01-16 10:11:50 +01:00
api-procedures.texi Doc updates to macroexpansion, compiled procs, and compiler.texi 2013-12-04 20:46:02 +01:00
api-regex.texi doc: Fix description of regexp/locale encoding interaction. 2012-08-27 00:09:30 +02:00
api-scheduling.texi Allow #f as timeout argument to unlock-mutex and SRFI-18 mutex-unlock! 2013-06-10 02:34:21 -04:00
api-scm.texi
api-smobs.texi Remove SMOB tutorial; update manual. 2014-04-28 17:45:07 +02:00
api-snarf.texi
api-undocumented.texi excise use of "iff" in the manual 2013-03-10 22:29:18 +01:00
api-utility.texi Clarify that object-properties cannot be reliably applied to numbers. 2014-08-10 22:55:25 -04:00
api.txt
ChangeLog-2008
ChangeLog-goops-2008
ChangeLog-guile-doc-ref
compiler.texi Minor CPS documentation cleanups 2015-09-18 10:13:35 +02:00
curried.texi Document (ice-9 curried definitions) 2012-09-06 22:15:40 +01:00
data-rep.texi Clarify docs for SCM_UNSPECIFIED: used sometimes but not always 2011-05-25 12:40:55 -04:00
effective-version.texi.in
expect.texi
fdl.texi Upgrade manual to GFDLv1.3+. 2010-06-01 00:02:35 +02:00
gds.dia
gds.eps
gds.pdf
gds.txt
goops-tutorial.texi Merge tutorial' and reference' treatments of the same basic GOOPS 2010-12-06 22:28:39 +00:00
goops.texi GOOPS doc fix: #:dsupers is the init keyword for the dsupers slot. 2013-12-01 18:41:31 -05:00
guile-invoke.texi Merge commit '8cf2a7ba74' 2015-01-22 13:24:30 +01:00
guile.texi Merge remote-tracking branch 'origin/stable-2.0' 2014-04-28 18:51:21 +02:00
hierarchy.dot doc/ref/hierarchy.png: conform to hierarchy.txt and manual 2013-01-15 19:17:55 +01:00
hierarchy.eps doc/ref/hierarchy.png: conform to hierarchy.txt and manual 2013-01-15 19:17:55 +01:00
hierarchy.pdf doc/ref/hierarchy.png: conform to hierarchy.txt and manual 2013-01-15 19:17:55 +01:00
hierarchy.png doc/ref/hierarchy.png: conform to hierarchy.txt and manual 2013-01-15 19:17:55 +01:00
hierarchy.txt
history.texi Update history.texi 2013-11-30 18:46:10 +01:00
indices.texi Procedure/macro index includes Autoconf macros 2011-02-13 22:28:25 +00:00
intro.texi excise use of "iff" in the manual 2013-03-10 22:29:18 +01:00
libguile-autoconf.texi manual: reorganize autoconf, pkg-config info 2011-10-12 17:12:29 +02:00
libguile-concepts.texi Merge remote-tracking branch 'origin/stable-2.0' 2014-04-28 18:51:21 +02:00
libguile-extensions.texi @value{EFFECTIVE-VERSION} instead of 2.0 in some places in the manual 2011-02-20 13:16:37 +01:00
libguile-foreign-objects.texi Remove SMOB tutorial; update manual. 2014-04-28 17:45:07 +02:00
libguile-linking.texi doc: embedding example more readable. 2014-01-17 22:22:02 +01:00
libguile-parallel.texi Merge commit '5fac1a7ada' 2015-01-22 13:30:25 +01:00
libguile-program.texi Remove SMOB tutorial; update manual. 2014-04-28 17:45:07 +02:00
libguile-snarf.texi Prefer foreign objects over smobs in manual 2014-04-28 18:00:05 +02:00
Makefile.am Merge remote-tracking branch 'origin/stable-2.0' 2014-04-28 18:51:21 +02:00
match.texi doc: Strengthen the case for pattern matching. 2012-11-17 16:14:02 +01:00
misc-modules.texi Add full documentation for SRFI-41. 2013-03-27 13:37:45 -04:00
mod-getopt-long.texi rename guile-tools' to guild' 2011-05-31 22:01:47 +02:00
mop.text
new-docstrings.texi Automatic manual updates following libguile docstring changes 2009-12-27 23:24:09 +00:00
posix.texi Generic port facility provides buffering uniformly 2016-04-06 19:21:44 +02:00
preface.texi doc: Set document encoding to UTF-8; typeset my surname correctly. 2011-12-14 22:26:15 +01:00
r6rs.texi Document 'equal?' in list of R6RS incompatibilities. 2014-02-05 23:25:32 -05:00
repl-modules.texi fix documentation for option-set! syntaxen 2011-05-20 11:54:46 +02:00
scheme-ideas.texi Document (ice-9 curried definitions) 2012-09-06 22:15:40 +01:00
scheme-indices.texi
scheme-intro.texi
scheme-reading.texi fix urls in docs 2011-11-16 23:21:59 +01:00
scheme-scripts.texi better invocation documentation 2011-06-30 13:19:04 +02:00
scheme-using.texi Update statprof documentation; deprecate `with-statprof' 2016-02-01 15:12:36 +01:00
scheme.dia
scheme.eps
scheme.pdf
scheme.txt
scsh.texi update scsh doc 2010-08-17 08:48:49 -07:00
slib.texi docs: fix typos in manual, and a couple in code comments. 2011-02-09 22:28:49 +00:00
srfi-modules.texi Merge commit '8cf2a7ba74' 2015-01-22 13:24:30 +01:00
statprof.texi Update statprof documentation; deprecate `with-statprof' 2016-02-01 15:12:36 +01:00
sxml-match.texi begin rewriting SXML docs 2013-01-28 10:52:44 +01:00
sxml.texi excise use of "iff" in the manual 2013-03-10 22:29:18 +01:00
texinfo.texi Fix typo in `transform-string' doc. 2014-06-04 20:59:36 -04:00
tools.texi Prefer foreign objects over smobs in manual 2014-04-28 18:00:05 +02:00
tour.texi doc: Use scm_{to,from}_double instead of old API in example. 2012-09-03 22:35:33 +02:00
vm.texi Add integer->char and char->integer opcodes 2016-05-04 12:36:41 +02:00
web.texi NEWS and doc updates 2015-02-09 22:43:20 +01:00