Example #1
0
        private static void Unlock(CurlNative.CurlHandle handle, CurlLockData size, IntPtr userdata)
        {
            object obj;

            lock (LocksLock)
            {
                obj = Locks[size];
            }

            Monitor.Exit(obj);
        }
Example #2
0
        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);
        }