X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=rts%2FRaiseAsync.h;h=52a0aa4bf06044e65c5302065a7173f142bf8d01;hb=a916885ce70142ae5c05cc9e28230c308821e3d6;hp=8e59d51d9f8115bdf94b28ff7ccc6e9a086d2c4f;hpb=b1953bbb1ed3cb16497e5447db7487f0c2d9e41a;p=ghc-hetmet.git diff --git a/rts/RaiseAsync.h b/rts/RaiseAsync.h index 8e59d51..52a0aa4 100644 --- a/rts/RaiseAsync.h +++ b/rts/RaiseAsync.h @@ -9,6 +9,8 @@ #ifndef RAISEASYNC_H #define RAISEASYNC_H +#pragma GCC visibility push(hidden) + #define THROWTO_SUCCESS 0 #define THROWTO_BLOCKED 1 @@ -20,12 +22,11 @@ void throwToSingleThreaded (Capability *cap, void throwToSingleThreaded_ (Capability *cap, StgTSO *tso, StgClosure *exception, - rtsBool stop_at_atomically, - StgPtr stop_here); + rtsBool stop_at_atomically); void suspendComputation (Capability *cap, StgTSO *tso, - StgPtr stop_here); + StgUpdateFrame *stop_here); nat throwTo (Capability *cap, // the Capability we hold StgTSO *source, // the TSO sending the exception @@ -38,14 +39,14 @@ nat throwTo (Capability *cap, // the Capability we hold void throwToReleaseTarget (void *tso); #endif -void maybePerformBlockedException (Capability *cap, StgTSO *tso); +int maybePerformBlockedException (Capability *cap, StgTSO *tso); void awakenBlockedExceptionQueue (Capability *cap, StgTSO *tso); /* Determine whether a thread is interruptible (ie. blocked * indefinitely). Interruptible threads can be sent an exception with * killThread# even if they have async exceptions blocked. */ -STATIC_INLINE int +INLINE_HEADER int interruptible(StgTSO *t) { switch (t->why_blocked) { @@ -67,5 +68,7 @@ interruptible(StgTSO *t) #endif /* CMINUSMINUS */ +#pragma GCC visibility pop + #endif /* RAISEASYNC_H */