-
-/*
- * Handling timer events under cygwin32 is not done with signal/setitimer.
- * Instead of the two steps of first registering a signal handler to handle
- * \tr{SIGVTALRM} and then start generating them via @setitimer()@, we use
- * the Multimedia API (MM) and its @timeSetEvent@. (Internally, the MM API
- * creates a separate thread that will notify the main thread of timer
- * expiry). -- SOF 7/96
+
+/* Major bogosity:
+ *
+ * In the threaded RTS, we can't set the virtual timer because the
+ * thread which has the virtual timer might be sitting waiting for a
+ * capability, and the virtual timer only ticks in CPU time.
+ *
+ * So, possible solutions:
+ *
+ * (1) tick in realtime. Not very good, because this ticker is used for
+ * profiling, and this will give us unreliable time profiling
+ * results. Furthermore, this requires picking a single OS thread
+ * to be the timekeeper, which is a bad idea because the thread in
+ * question might just be making a temporary call into Haskell land.