103 lines
1.9 KiB
C
103 lines
1.9 KiB
C
|
/*++
|
||
|
|
||
|
Copyright (c) 1990 Microsoft Corporation
|
||
|
|
||
|
Module Name:
|
||
|
|
||
|
taststrs.c
|
||
|
|
||
|
Abstract:
|
||
|
|
||
|
Tasking stress test.
|
||
|
|
||
|
Author:
|
||
|
|
||
|
Mark Lucovsky (markl) 26-Sep-1990
|
||
|
|
||
|
Revision History:
|
||
|
|
||
|
--*/
|
||
|
|
||
|
#include <assert.h>
|
||
|
#include <stdio.h>
|
||
|
#include <windows.h>
|
||
|
#include <string.h>
|
||
|
|
||
|
VOID
|
||
|
NewProcess()
|
||
|
{
|
||
|
|
||
|
SMALL_RECT Window;
|
||
|
|
||
|
Window.Left = 0;
|
||
|
Window.Top = 0;
|
||
|
Window.Right = 15;
|
||
|
Window.Bottom = 5;
|
||
|
|
||
|
SetConsoleWindowInfo(GetStdHandle(STD_OUTPUT_HANDLE),
|
||
|
TRUE,
|
||
|
&Window
|
||
|
);
|
||
|
TerminateProcess(GetCurrentProcess(),0);
|
||
|
}
|
||
|
|
||
|
|
||
|
DWORD
|
||
|
_cdecl
|
||
|
main(
|
||
|
int argc,
|
||
|
char *argv[],
|
||
|
char *envp[]
|
||
|
)
|
||
|
{
|
||
|
|
||
|
STARTUPINFO StartupInfo;
|
||
|
PROCESS_INFORMATION ProcessInfo;
|
||
|
BOOL Success;
|
||
|
DWORD st;
|
||
|
DWORD ProcessCount;
|
||
|
SMALL_RECT Window;
|
||
|
|
||
|
ProcessCount = 0;
|
||
|
if ( strchr(GetCommandLine(),'+') ) {
|
||
|
NewProcess();
|
||
|
}
|
||
|
|
||
|
GetStartupInfo(&StartupInfo);
|
||
|
Window.Left = 0;
|
||
|
Window.Top = 0;
|
||
|
Window.Right = 15;
|
||
|
Window.Bottom = 5;
|
||
|
|
||
|
SetConsoleWindowInfo(GetStdHandle(STD_OUTPUT_HANDLE),
|
||
|
TRUE,
|
||
|
&Window
|
||
|
);
|
||
|
|
||
|
|
||
|
while ( TRUE ) {
|
||
|
|
||
|
Success = CreateProcess(
|
||
|
NULL,
|
||
|
"constrs +",
|
||
|
NULL,
|
||
|
NULL,
|
||
|
FALSE,
|
||
|
CREATE_NEW_CONSOLE,
|
||
|
NULL,
|
||
|
NULL,
|
||
|
&StartupInfo,
|
||
|
&ProcessInfo
|
||
|
);
|
||
|
|
||
|
if (Success) {
|
||
|
ProcessCount++;
|
||
|
printf("Process %d Created\n",ProcessCount);
|
||
|
st = WaitForSingleObject(ProcessInfo.hProcess,-1);
|
||
|
(st == 0);
|
||
|
CloseHandle(ProcessInfo.hProcess);
|
||
|
CloseHandle(ProcessInfo.hThread);
|
||
|
}
|
||
|
}
|
||
|
}
|