Multithreading Libgit2全局状态和线程安全

Multithreading Libgit2全局状态和线程安全,multithreading,thread-safety,libgit2,Multithreading,Thread Safety,Libgit2,我正试图修改我们的代码库,它似乎使用libgit2时出错了(至少TSAN对我们如何使用libgit2发疯了) 我知道大多数操作都是基于对象的(也就是说,repo之上的操作都是本地化到该repo的),但我不清楚全局状态以及哪些操作需要全局同步 是否有需要全局同步的函数列表 另外,当涉及到git\u repository\u open()时,我是否需要确保只有一个线程持有一条路径?也就是说,我是否需要阻止多个线程访问同一个repo

我正试图修改我们的代码库,它似乎使用libgit2时出错了(至少TSAN对我们如何使用libgit2发疯了)

我知道大多数操作都是基于对象的(也就是说,repo之上的操作都是本地化到该repo的),但我不清楚全局状态以及哪些操作需要全局同步

是否有需要全局同步的函数列表

另外,当涉及到
git\u repository\u open()
时,我是否需要确保只有一个线程持有一条路径?也就是说,我是否需要阻止多个线程访问同一个repo