blob: 8dff6ea63db55837524fbe0bfb0fcd8d45078a25 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
|
/* -----------------------------------------------------------------------------
*
* (c) The GHC Team 1998-2002
*
* External API for the scheduler. For most uses, the functions in
* RtsAPI.h should be enough.
*
* ---------------------------------------------------------------------------*/
#ifndef SCHEDAPI_H
#define SCHEDAPI_H
#if defined(GRAN)
/* Dummy def for NO_PRI if not in GranSim */
#define NO_PRI 0
#endif
/*
* Creating threads
*/
#if defined(GRAN)
StgTSO *createThread (Capability *cap, nat stack_size, StgInt pri);
#else
StgTSO *createThread (Capability *cap, nat stack_size);
#endif
Capability *scheduleWaitThread (StgTSO *tso, /*out*/HaskellObj* ret,
Capability *cap);
StgTSO *createGenThread (Capability *cap, nat stack_size,
StgClosure *closure);
StgTSO *createIOThread (Capability *cap, nat stack_size,
StgClosure *closure);
StgTSO *createStrictIOThread (Capability *cap, nat stack_size,
StgClosure *closure);
#endif
|