windows-nt/Source/XPSP1/NT/com/rpc/runtime/mtrt/gc.hxx

70 lines
1.4 KiB
C++
Raw Normal View History

2020-09-26 03:20:57 -05:00
/*++
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__