Code:
/ FX-1434 / FX-1434 / 1.0 / untmp / whidbey / REDBITS / ndp / fx / src / Net / System / Net / _Semaphore.cs / 1 / _Semaphore.cs
//------------------------------------------------------------------------------
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
//-----------------------------------------------------------------------------
#pragma warning disable 618
namespace System.Net
{
using System;
using System.Threading;
using System.Security.Permissions;
// used for Connection Pooling
internal sealed class Semaphore : WaitHandle
{
internal Semaphore(int initialCount, int maxCount) : base() {
lock (this) {
//
Handle = UnsafeNclNativeMethods.CreateSemaphore(IntPtr.Zero, initialCount, maxCount, IntPtr.Zero);
}
}
/*
// Consider removing.
public Semaphore(int initialCount, int maxCount, string name) : base() {
lock (this) {
//
*/
internal bool ReleaseSemaphore() {
#if DEBUG
int previousCount;
bool success = UnsafeNclNativeMethods.ReleaseSemaphore(Handle, 1, out previousCount);
GlobalLog.Print("ReleaseSemaphore#"+ValidationHelper.HashString(this)+" success:"+success+" previousCount:"+previousCount.ToString());
return success;
#else
return UnsafeNclNativeMethods.ReleaseSemaphore(Handle, 1, IntPtr.Zero);
#endif
}
/*
// Consider removing.
internal bool ReleaseSemaphore(int releaseCount, out int previousCount) {
return UnsafeNclNativeMethods.ReleaseSemaphore(Handle, releaseCount, out previousCount);
}
*/
}
}
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- MimeTypeAttribute.cs
- FilteredDataSetHelper.cs
- ResourceManager.cs
- LongValidatorAttribute.cs
- Pts.cs
- SkinBuilder.cs
- LocalizationCodeDomSerializer.cs
- QueryStringParameter.cs
- PropertySourceInfo.cs
- SimpleApplicationHost.cs
- DeclarativeCatalogPart.cs
- CodeAttachEventStatement.cs
- BehaviorService.cs
- CommonProperties.cs
- ColumnClickEvent.cs
- InputReport.cs
- ASCIIEncoding.cs
- MultiBinding.cs
- TreeNodeBindingCollection.cs
- BreakRecordTable.cs
- SqlDataSourceSelectingEventArgs.cs
- LayoutEngine.cs
- SizeKeyFrameCollection.cs
- Zone.cs
- OleDbTransaction.cs
- ConnectionManagementElement.cs
- XPathMessageFilterElement.cs
- GlyphCache.cs
- DtdParser.cs
- ViewLoader.cs
- DbConnectionStringCommon.cs
- PackageProperties.cs
- CorrelationTokenTypeConvertor.cs
- XmlCharType.cs
- SoapCommonClasses.cs
- MetadataItem.cs
- PreservationFileReader.cs
- ProgramPublisher.cs
- EarlyBoundInfo.cs
- WebColorConverter.cs
- TrackingRecordPreFilter.cs
- ErrorFormatter.cs
- KnownColorTable.cs
- ComponentTray.cs
- BitmapEffectGeneralTransform.cs
- ExecutionEngineException.cs
- DecoderExceptionFallback.cs
- InputQueueChannelAcceptor.cs
- ListBindableAttribute.cs
- DataViewSettingCollection.cs
- SrgsSubset.cs
- StateMachine.cs
- ComponentDispatcher.cs
- DesignTableCollection.cs
- CustomLineCap.cs
- ReadOnlyTernaryTree.cs
- TableParaClient.cs
- _BaseOverlappedAsyncResult.cs
- WindowsFormsHostPropertyMap.cs
- thaishape.cs
- NamespaceList.cs
- UnsafeNativeMethods.cs
- RegexBoyerMoore.cs
- DocumentCollection.cs
- LocalTransaction.cs
- ImageSource.cs
- X509Utils.cs
- ErrorRuntimeConfig.cs
- MouseGestureConverter.cs
- BinaryConverter.cs
- ReflectPropertyDescriptor.cs
- ExpressionConverter.cs
- SecurityDescriptor.cs
- RadioButtonStandardAdapter.cs
- TimeSpanValidatorAttribute.cs
- StreamWriter.cs
- Visual3D.cs
- MimeAnyImporter.cs
- ConnectionStringsExpressionBuilder.cs
- StorageEntitySetMapping.cs
- UrlAuthFailedErrorFormatter.cs
- UIEndRequest.cs
- DbConnectionStringBuilder.cs
- TextEndOfParagraph.cs
- Baml2006KnownTypes.cs
- TextWriter.cs
- XmlDocumentSerializer.cs
- SqlWebEventProvider.cs
- MsmqAppDomainProtocolHandler.cs
- ColumnClickEvent.cs
- TextBounds.cs
- DrawingGroup.cs
- TextParaLineResult.cs
- ECDiffieHellmanPublicKey.cs
- HtmlEmptyTagControlBuilder.cs
- AutomationPropertyInfo.cs
- ExpressionVisitorHelpers.cs
- SHA1.cs
- StopStoryboard.cs
- DifferencingCollection.cs