blob: 2d4581421d872c6005ab234c65a4bac1bdc12c6b [file] [log] [blame]
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#ifdef _WIN32 /* for sleep function */
#include <windows.h>
void mysleep(int sec) {
Sleep((DWORD)sec * 1000);
}
#else /* Unix/POSIX */
#include <unistd.h>
void mysleep(int sec) {
/* could use nanosleep, but on Solaris it needs -lrt */
sleep(sec);
}
#endif
int main(int argc, char* argv[])
{
int status = 0;
char line[1000];
printf("stdout 1\n"); fflush(stdout);
fprintf(stderr, "stderr 1\n");
fflush(stderr);
if (argc > 1 && strcmp(argv[1], "1") == 0) {
while(fgets(line, 1000, stdin)) printf("stdin: %s", line);
fflush(stdout);
}
if (argc > 1 && strcmp(argv[1], "1")) {
status = atoi(argv[1]);
}
if (argc > 1 && strcmp(argv[1], "infinite_loop") == 0) {
printf("Going to infinite loop...\n");
fflush(stdout);
while(1); /* infinite loop */
}
if (argc > 2 && strcmp(argv[1], "sleep") == 0) {
int sec = atoi(argv[2]);
printf("Sleeping for %d seconds...\n", sec);
fflush(stdout);
mysleep(sec);
printf("Done sleeping for %d seconds.\n", sec);
fflush(stdout);
}
exit(status);
}