public static int Release(Original::Semaphore semaphore, int times) { return (Helper.SimpleWrap <int>( delegate(ClrSyncManager manager) { manager.SetMethodInfo("Semaphore.Release(x" + times + ")"); manager.SyncVarAccess(semaphore, MSyncVarOp.LOCK_RELEASE); int returnValue; try { returnValue = semaphore.Release(times); } catch (Exception e) { manager.CommitSyncVarAccess(); throw e; } manager.CommitSyncVarAccess(); return returnValue; }, delegate() { return semaphore.Release(times); } )); }
public static int Release(Original::Semaphore semaphore) { return(Release(semaphore, 1)); }