private static void Unlock(CurlNative.CurlHandle handle, CurlLockData size, IntPtr userdata) { object obj; lock (LocksLock) { obj = Locks[size]; } Monitor.Exit(obj); }
private static void Lock(CurlNative.CurlHandle handle, CurlLockData size, CurlLockAccess nmemb, IntPtr userdata) { object obj; lock (LocksLock) { if (!Locks.TryGetValue(size, out obj)) { obj = Locks[size] = new object(); } } Monitor.Enter(obj); }