Source code of Windows XP (NT5)
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

62 lines
1.2 KiB

/*++
Copyright (C) 1998-2001 Microsoft Corporation
Module Name:
Abstract:
History:
--*/
//////////////////////////////////////////////////////////////////////
//
// StressOps.h
//
//////////////////////////////////////////////////////////////////////
#ifndef _STRESSOPS_H_
#define _STRESSOPS_H_
class CBasicRefreshAgent
{
public:
CRefresher *m_pRef; // The refresher to stress
DWORD m_dwIterations; // Total number of cycles
DWORD m_dwPeriod; // Wait between cycles
HANDLE m_hThread; // Stress thread
HANDLE m_hRefreshEvent;
BOOL m_bInfinite;
static DWORD WINAPI StressThreadEntry(LPVOID lpParameter);
virtual void StressLoop();
public:
CBasicRefreshAgent();
virtual ~CBasicRefreshAgent();
BOOL Create(CRefresher *pRef, DWORD dwIterations, DWORD dwPeriod, HANDLE hRefreshEvent);
void BeginStress();
};
#define MAX_INST 100
#define MIN_INST 50
class CRandomOpRefreshAgent : public CBasicRefreshAgent
{
HANDLE m_hThreadAddRefs;
HANDLE m_hThreadRemoveRefs;
virtual void StressLoop();
static DWORD WINAPI AddRefThreadEntry(LPVOID lpParameter);
static DWORD WINAPI RemRefThreadEntry(LPVOID lpParameter);
public:
BOOL Create(CRefresher *pRef, DWORD dwPeriod);
void BeginStress();
};
#endif // _STRESSOPS_H_