Remove arbitrary process count limit

* exec/trace.c (handle_clone_prepare):
(handle_clone): When !REENTRANT, use malloc to allocate
tracees after running out of static ones.
This commit is contained in:
Po Lu 2023-05-20 16:54:13 +08:00
parent 181453285c
commit d86643a786

View file

@ -456,6 +456,12 @@ handle_clone_prepare (struct exec_tracee *parent)
tracee = &static_tracees[tracees];
tracees++;
}
#ifndef REENTRANT
/* Try to allocate a tracee using `malloc' if this library is
not being built to run inside a signal handler. */
else if ((tracee = malloc (sizeof *tracee)))
;
#endif /* REENTRANT */
else
return;
@ -506,6 +512,12 @@ handle_clone (struct exec_tracee *tracee, pid_t pid)
tracee = &static_tracees[tracees];
tracees++;
}
#ifndef REENTRANT
/* Try to allocate a tracee using `malloc' if this library is
not being built to run inside a signal handler. */
else if ((tracee = malloc (sizeof *tracee)))
;
#endif /* REENTRANT */
else
return 1;