rugged icon indicating copy to clipboard operation
rugged copied to clipboard

Add clone_at2 and fetch2

Open ghost opened this issue 8 years ago • 1 comments

Current version of clone_at and fetch dont release GVL when transfering data between client and server, so I just simply dup clone_at and fetch to remove their GVL and rename to clone_at2 and fetch2.

Limit: The internal data structure in libgit2 is not protected by locks so dont use these APIs in mutlithread.

ghost avatar Jan 05 '18 09:01 ghost

Have you seen that there is a rb_thread_call_with_gvl which allows reaquiring the GVL to call ruby C-API functions again? I think using that you could keep the push notification callback behaviour as-is and not require khash.

arthurschreiber avatar Jan 07 '18 11:01 arthurschreiber