{
int killed = 0;
int status;
+ int i;
/* Send signal. */
kill (pid, SIGKILL);
/* Wait for it to terminate. */
- int i;
for (i = 0; i < 5; ++i)
{
+ struct timespec ts;
killed = waitpid (pid, &status, WNOHANG|WUNTRACED);
if (killed != 0)
break;
nanosleep() call return prematurely, all the better. We
won't restart it since this probably means the child process
finally died. */
- struct timespec ts;
ts.tv_sec = 0;
ts.tv_nsec = 100000000;
nanosleep (&ts, NULL);
int opt;
unsigned int timeoutfactor = 1;
pid_t termpid;
+ char *envstr_timeoutfactor;
/* Make uses of freed and uninitialized memory known. */
#ifdef __MALLOC_STANDARD__
/* If set, read the test TIMEOUTFACTOR value from the environment.
This value is used to scale the default test timeout values. */
- char *envstr_timeoutfactor = getenv ("TIMEOUTFACTOR");
+ envstr_timeoutfactor = getenv ("TIMEOUTFACTOR");
if (envstr_timeoutfactor != NULL)
{
char *envstr_conv = envstr_timeoutfactor;
if (pid == 0)
{
/* This is the child. */
+#ifdef RLIMIT_DATA
+ struct rlimit data_limit;
+#endif
#ifdef RLIMIT_CORE
/* Try to avoid dumping core. */
struct rlimit core_limit;
#ifdef RLIMIT_DATA
/* Try to avoid eating all memory if a test leaks. */
- struct rlimit data_limit;
if (getrlimit (RLIMIT_DATA, &data_limit) == 0)
{
if (TEST_DATA_LIMIT == RLIM_INFINITY)