diff options
author | Mark H Weaver <mhw@netris.org> | 2013-03-28 05:09:53 -0400 |
---|---|---|
committer | Mark H Weaver <mhw@netris.org> | 2013-03-28 05:09:53 -0400 |
commit | 26d148066f9cb20e395a7dc4fefdf2e2ef0b2fb0 (patch) | |
tree | 40f13bc6355adb822bb8cd01fee5bcd9fd5430f9 /doc/ref/api-scheduling.texi | |
parent | 8ae26afefee947c71314733c419519fb616bf36d (diff) | |
parent | 579127cce488ce208d62e68e679e34fbbdc17367 (diff) | |
download | guile-26d148066f9cb20e395a7dc4fefdf2e2ef0b2fb0.tar.gz |
Merge remote-tracking branch 'origin/stable-2.0'
Conflicts:
configure.ac
libguile/deprecated.c
libguile/deprecated.h
libguile/filesys.h
libguile/fluids.c
libguile/fports.c
libguile/gc.c
libguile/guile.c
libguile/numbers.c
libguile/objcodes.c
libguile/r6rs-ports.c
libguile/smob.c
libguile/socket.c
libguile/threads.h
module/language/scheme/decompile-tree-il.scm
module/language/tree-il/peval.scm
test-suite/tests/syncase.test
Diffstat (limited to 'doc/ref/api-scheduling.texi')
-rw-r--r-- | doc/ref/api-scheduling.texi | 19 |
1 files changed, 13 insertions, 6 deletions
diff --git a/doc/ref/api-scheduling.texi b/doc/ref/api-scheduling.texi index 749583a1b..b23082192 100644 --- a/doc/ref/api-scheduling.texi +++ b/doc/ref/api-scheduling.texi @@ -247,7 +247,7 @@ Once @var{body} or @var{handler} returns, the return value is made the @deffn {Scheme Procedure} thread? obj @deffnx {C Function} scm_thread_p (obj) -Return @code{#t} iff @var{obj} is a thread; otherwise, return +Return @code{#t} ff @var{obj} is a thread; otherwise, return @code{#f}. @end deffn @@ -267,7 +267,7 @@ specified; @code{#f} is returned otherwise). @deffn {Scheme Procedure} thread-exited? thread @deffnx {C Function} scm_thread_exited_p (thread) -Return @code{#t} iff @var{thread} has exited. +Return @code{#t} if @var{thread} has exited, or @code{#f} otherwise. @end deffn @c begin (texi-doc-string "guile" "yield") @@ -376,7 +376,7 @@ The returned mutex will be recursive. @deffn {Scheme Procedure} mutex? obj @deffnx {C Function} scm_mutex_p (obj) -Return @code{#t} iff @var{obj} is a mutex; otherwise, return +Return @code{#t} if @var{obj} is a mutex; otherwise, return @code{#f}. @end deffn @@ -481,7 +481,7 @@ Return a new condition variable. @deffn {Scheme Procedure} condition-variable? obj @deffnx {C Function} scm_condition_variable_p (obj) -Return @code{#t} iff @var{obj} is a condition variable; otherwise, +Return @code{#t} if @var{obj} is a condition variable; otherwise, return @code{#f}. @end deffn @@ -702,7 +702,7 @@ implicitly bound to some definite value). @deffn {Scheme Procedure} fluid? obj @deffnx {C Function} scm_fluid_p (obj) -Return @code{#t} iff @var{obj} is a fluid; otherwise, return +Return @code{#t} if @var{obj} is a fluid; otherwise, return @code{#f}. @end deffn @@ -726,7 +726,7 @@ Disassociate the given fluid from any value, making it unbound. @deffn {Scheme Procedure} fluid-bound? fluid @deffnx {C Function} scm_fluid_bound_p (fluid) -Returns @code{#t} iff the given fluid is bound to a value, otherwise +Returns @code{#t} if the given fluid is bound to a value, otherwise @code{#f}. @end deffn @@ -1037,6 +1037,13 @@ future has completed. This suspend/resume is achieved by capturing the calling future's continuation, and later reinstating it (@pxref{Prompts, delimited continuations}). +Note that @code{par-map} above is not tail-recursive. This could lead +to stack overflows when @var{lst} is large compared to +@code{(current-processor-count)}. To address that, @code{touch} uses +the suspend mechanism described above to limit the number of nested +futures executing on the same stack. Thus, the above code should never +run into stack overflows. + @deffn {Scheme Syntax} future exp Return a future for expression @var{exp}. This is equivalent to: |