From: Po Lu Date: Sat, 20 May 2023 08:54:13 +0000 (+0800) Subject: Remove arbitrary process count limit X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=d86643a7863cef268b69d7925e0982bdb70ba672;p=emacs.git 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. --- diff --git a/exec/trace.c b/exec/trace.c index 974df1dd5e1..23db8ebcbc7 100644 --- a/exec/trace.c +++ b/exec/trace.c @@ -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;