projects
/
mono.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
f7ea181
)
.NET allows each finalizer thread up to 2 seconds to complete and 40 seconds for...
author
Neale Ferguson
<neale@sinenomine.net>
Sun, 18 Dec 2016 13:08:48 +0000
(08:08 -0500)
committer
Zoltan Varga
<vargaz@gmail.com>
Sun, 18 Dec 2016 13:08:48 +0000
(08:08 -0500)
mono/metadata/gc.c
patch
|
blob
|
history
diff --git
a/mono/metadata/gc.c
b/mono/metadata/gc.c
index 3a694a4b8e95867c7d7db2d90758f49df13b6423..1a452c083ee0384a7dedfc9a4dc5d6d06b6c033e 100644
(file)
--- a/
mono/metadata/gc.c
+++ b/
mono/metadata/gc.c
@@
-1019,11
+1019,12
@@
mono_gc_cleanup (void)
if (mono_thread_internal_current () != gc_thread) {
int ret;
gint64 start_ticks = mono_msec_ticks ();
if (mono_thread_internal_current () != gc_thread) {
int ret;
gint64 start_ticks = mono_msec_ticks ();
- gint64 end_ticks = start_ticks +
2
000;
+ gint64 end_ticks = start_ticks +
40
000;
mono_gc_finalize_notify ();
/* Finishing the finalizer thread, so wait a little bit... */
mono_gc_finalize_notify ();
/* Finishing the finalizer thread, so wait a little bit... */
- /* MS seems to wait for about 2 seconds */
+ /* MS seems to wait for about 2 seconds per finalizer thread */
+ /* and 40 seconds for all finalizers to finish */
while (!finalizer_thread_exited) {
gint64 current_ticks = mono_msec_ticks ();
guint32 timeout;
while (!finalizer_thread_exited) {
gint64 current_ticks = mono_msec_ticks ();
guint32 timeout;