summaryrefslogtreecommitdiff
path: root/docs/users_guide/bugs.xml
diff options
context:
space:
mode:
Diffstat (limited to 'docs/users_guide/bugs.xml')
-rw-r--r--docs/users_guide/bugs.xml15
1 files changed, 15 insertions, 0 deletions
diff --git a/docs/users_guide/bugs.xml b/docs/users_guide/bugs.xml
index 8673d71f6b..1b4d5c93a2 100644
--- a/docs/users_guide/bugs.xml
+++ b/docs/users_guide/bugs.xml
@@ -476,6 +476,21 @@ checking for duplicates. The reason for this is efficiency, pure and simple.
<itemizedlist>
<listitem>
+ <para>GHC's runtime system implements cooperative multitasking, with
+ context switching potentially occurring only when a program allocates.
+ This means that programs that do not allocate may never context switch.
+ See
+ <ulink url="https://ghc.haskell.org/trac/ghc/ticket/367">Trac #367</ulink>
+ for further discussion.
+ </para>
+ <para>If you are hit by this, you may want to compile the affected module
+ with <literal>-fno-omit-yields</literal>. This flag ensures that yield points
+ are inserted at every function entrypoint (at the expense of a bit of
+ performance).
+ </para>
+ </listitem>
+
+ <listitem>
<para> GHC can warn about non-exhaustive or overlapping
patterns (see <xref linkend="options-sanity"/>), and usually
does so correctly. But not always. It gets confused by