merge upstream HEAD
[ghc-hetmet.git] / rts / Weak.h
1 /* -----------------------------------------------------------------------------
2  *
3  * (c) The GHC Team, 1998-2005
4  *
5  * Weak pointers / finalizers
6  *
7  * ---------------------------------------------------------------------------*/
8
9 #ifndef WEAK_H
10 #define WEAK_H
11
12 #include "Capability.h"
13
14 #include "BeginPrivate.h"
15
16 extern rtsBool running_finalizers;
17 extern StgWeak * weak_ptr_list;
18
19 void runCFinalizer(void *fn, void *ptr, void *env, StgWord flag);
20 void runAllCFinalizers(StgWeak *w);
21 void scheduleFinalizers(Capability *cap, StgWeak *w);
22 void markWeakList(void);
23
24 #include "EndPrivate.h"
25
26 #endif /* WEAK_H */
27