X-Git-Url: http://git.megacz.com/?p=ghc-hetmet.git;a=blobdiff_plain;f=docs%2Fusers_guide%2Fffi-chap.xml;h=b33e95abb6e67ee60164ad14d23f6f5832745eeb;hp=2d2c5a05317ed34a26239931833e758dd412c22c;hb=83d563cb9ede0ba792836e529b1e2929db926355;hpb=cc8e41a3c5e05a1076254ab39a56074e70f9e863 diff --git a/docs/users_guide/ffi-chap.xml b/docs/users_guide/ffi-chap.xml index 2d2c5a0..b33e95a 100644 --- a/docs/users_guide/ffi-chap.xml +++ b/docs/users_guide/ffi-chap.xml @@ -19,7 +19,7 @@ Foreign function interface (FFI) The FFI libraries are documented in the accompanying library documentation; see for example the - Foreign module. + Foreign module. GHC extensions to the FFI Addendum @@ -64,7 +64,7 @@ OK: - + Primitive imports GHC extends the FFI with an additional calling convention @@ -476,6 +476,15 @@ int main(int argc, char *argv[]) threads, but there may be an arbitrary number of foreign calls in progress at any one time, regardless of the +RTS -N value. + + If a call is annotated as interruptible + and the program was multithreaded, the call may be + interrupted in the event that the Haskell thread receives an + exception. The mechanism by which the interrupt occurs + is platform dependent, but is intended to cause blocking + system calls to return immediately with an interrupted error + code. The underlying operating system thread is not to be + destroyed. @@ -498,7 +507,7 @@ int main(int argc, char *argv[]) threads, which are Haskell threads tied to a particular OS thread. For information on bound threads, see the documentation - for the Control.Concurrent + for the Control.Concurrent module. @@ -563,7 +572,6 @@ int main(int argc, char *argv[])