private CurlShareCode setShareOption(CurlShareOption option, CurlLockData value) { var retCode = (value != CurlLockData.Cookie) && (value != CurlLockData.Dns) ? CurlShareCode.BadOption : NativeMethods.curl_share_setopt(_pShare, option, (IntPtr)value); setLastError(retCode, option); return(retCode); }
private static void Unlock(CurlNative.CurlHandle handle, CurlLockData size, IntPtr userdata) { object obj; lock (LocksLock) { obj = Locks[size]; } Monitor.Exit(obj); }
public static void OnLock(CurlLockData data, CurlLockAccess access, Object extraData) { //Console.WriteLine("OnLock({0}, {1})", data, access); switch (data) { case CurlLockData.Dns: Monitor.Enter(dnsLock); break; case CurlLockData.Cookie: Monitor.Enter(cookieLock); break; } }
public static void OnUnlock(CurlLockData data, Object extraData) { //Console.WriteLine("OnUnlock({0})", data); switch (data) { case CurlLockData.Dns: Monitor.Exit(dnsLock); break; case CurlLockData.Cookie: Monitor.Exit(cookieLock); break; } }
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); }
private CurlShareCode setShareOption(CurlShareOption option, CurlLockData value) { var retCode = (value != CurlLockData.Cookie) && (value != CurlLockData.Dns) ? CurlShareCode.BadOption : NativeMethods.curl_share_setopt(_pShare, option, (IntPtr) value); setLastError(retCode, option); return retCode; }
internal static extern CurlShareCode ShareSetOpt(this ShareHandle handle, CurlShareOption option, CurlLockData data);