Project

General

Profile

Bug #10892 ยป 0001-load.c-unlock-the-new-shield.patch

thedarkone (Vit Z), 07/31/2015 04:53 AM

View differences:

load.c
748 748
    switch (rb_thread_shield_wait((VALUE)data)) {
749 749
      case Qfalse:
750 750
	data = (st_data_t)ftptr;
751
	st_insert(loading_tbl, data, (st_data_t)rb_thread_shield_new());
751
	VALUE new_shield = rb_thread_shield_new();
752
	/* rb_thread_shield_new() automatically pre-locks the new shield, since this branch indicates
753
	   the failure to acquire the lock, the newly installed shield shouldn't be locked */
754
	rb_thread_shield_release(new_shield);
755
	st_insert(loading_tbl, data, (st_data_t)new_shield);
752 756
	return 0;
753 757
      case Qnil:
754 758
	return 0;
755
-