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__
|