X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=rts%2FTask.c;h=f26785a1bedd93ab7947bd60dcde46097990de94;hb=723365de1b9ab1b8a8cf59a936624891d075e554;hp=e93d60d86f6d582238f1ecce93f45885b79b0abd;hpb=65da401ae6579ad47f06bcf80b1f3022c9963ca4;p=ghc-hetmet.git diff --git a/rts/Task.c b/rts/Task.c index e93d60d..f26785a 100644 --- a/rts/Task.c +++ b/rts/Task.c @@ -409,6 +409,15 @@ startWorkerTask (Capability *cap) RELEASE_LOCK(&task->lock); } +void +interruptWorkerTask (Task *task) +{ + ASSERT(osThreadId() != task->id); // seppuku not allowed + ASSERT(task->incall->suspended_tso); // use this only for FFI calls + interruptOSThread(task->id); + debugTrace(DEBUG_sched, "interrupted worker task %lu", task->id); +} + #endif /* THREADED_RTS */ #ifdef DEBUG