70 lines
1.4 KiB
C++
70 lines
1.4 KiB
C++
/*++
|
|
|
|
Copyright (c) 2000 Microsoft Corporation
|
|
|
|
Module Name:
|
|
|
|
GC.hxx
|
|
|
|
Abstract:
|
|
|
|
The header file which contains the definitions for the
|
|
garbage collection mechanism.
|
|
|
|
Author:
|
|
|
|
Kamen Moutafov (kamenm) Apr 2000
|
|
|
|
Revision History:
|
|
|
|
Moved some pieces related to garbage collection here, as
|
|
well as adding the new garbage collection stuff here
|
|
|
|
--*/
|
|
|
|
#if _MSC_VER > 1000
|
|
#pragma once
|
|
#endif // _MSC_VER > 1000
|
|
|
|
#ifndef __GC_HXX__
|
|
#define __GC_HXX__
|
|
|
|
extern long GarbageCollectionRequested;
|
|
extern unsigned long WaitToGarbageCollectDelay;
|
|
extern long PeriodicGarbageCollectItems ;
|
|
extern DWORD NextOneTimeCleanup;
|
|
extern unsigned int fEnableIdleConnectionCleanup;
|
|
extern unsigned int fEnableIdleLrpcSContextsCleanup;
|
|
extern unsigned int IocThreadStarted;
|
|
|
|
#define CO_EVENT_TICKLE_THREAD 0x9993
|
|
|
|
// forwards
|
|
class LRPC_ADDRESS;
|
|
extern LRPC_ADDRESS *LrpcAddressList;
|
|
|
|
inline BOOL
|
|
IsGarbageCollectionAvailable (
|
|
void
|
|
)
|
|
{
|
|
return (IocThreadStarted || LrpcAddressList);
|
|
}
|
|
|
|
inline RPC_STATUS
|
|
TickleIocThread (
|
|
void
|
|
)
|
|
{
|
|
return COMMON_PostRuntimeEvent(CO_EVENT_TICKLE_THREAD, NULL);
|
|
}
|
|
|
|
BOOL
|
|
CheckIfGCShouldBeTurnedOn (
|
|
IN ULONG DestroyedAssociations,
|
|
IN const ULONG NumberOfDestroyedAssociationsToSample,
|
|
IN const long DestroyedAssociationBatchThreshold,
|
|
IN OUT ULARGE_INTEGER *LastDestroyedAssociationsBatchTimestamp
|
|
);
|
|
|
|
#endif // __GC_HXX__
|