X-Git-Url: http://wien.tomnetworks.com/gitweb/?a=blobdiff_plain;f=mono%2Fsgen%2Fsgen-pinning.c;h=0e711d1aa15a265b4fa466c00a595c884568a9ef;hb=9719dd2343bcef46816e0decbc0709dd80dea59c;hp=904688c2ae81f628eb8b52d37da7ddfc03564927;hpb=6ac36d6c40a2dd0ab2800c23d08894856b193c2f;p=mono.git diff --git a/mono/sgen/sgen-pinning.c b/mono/sgen/sgen-pinning.c index 904688c2ae8..0e711d1aa15 100644 --- a/mono/sgen/sgen-pinning.c +++ b/mono/sgen/sgen-pinning.c @@ -41,9 +41,14 @@ sgen_pinning_init (void) void sgen_init_pinning (void) { - mono_os_mutex_lock (&pin_queue_mutex); memset (pin_hash_filter, 0, sizeof (pin_hash_filter)); pin_queue.mem_type = INTERNAL_MEM_PIN_QUEUE; +} + +void +sgen_init_pinning_for_conc (void) +{ + mono_os_mutex_lock (&pin_queue_mutex); sgen_pointer_queue_clear (&pin_queue_objs); } @@ -52,6 +57,11 @@ sgen_finish_pinning (void) { last_num_pinned = pin_queue.next_slot; sgen_pointer_queue_clear (&pin_queue); +} + +void +sgen_finish_pinning_for_conc (void) +{ mono_os_mutex_unlock (&pin_queue_mutex); }