Fix #15038
[ghc.git] / rts / Weak.h
1 /* -----------------------------------------------------------------------------
2 *
3 * (c) The GHC Team, 1998-2005
4 *
5 * Weak pointers / finalizers
6 *
7 * ---------------------------------------------------------------------------*/
8
9 #pragma once
10
11 #include "Capability.h"
12
13 #include "BeginPrivate.h"
14
15 extern bool running_finalizers;
16 extern StgWeak * dead_weak_ptr_list;
17
18 void runCFinalizers(StgCFinalizerList *list);
19 void runAllCFinalizers(StgWeak *w);
20 void scheduleFinalizers(Capability *cap, StgWeak *w);
21 void markWeakList(void);
22 bool runSomeFinalizers(bool all);
23
24 #include "EndPrivate.h"