]> git.eshelyaron.com Git - emacs.git/commitdiff
Remove arbitrary process count limit
authorPo Lu <luangruo@yahoo.com>
Sat, 20 May 2023 08:54:13 +0000 (16:54 +0800)
committerPo Lu <luangruo@yahoo.com>
Sat, 20 May 2023 08:54:13 +0000 (16:54 +0800)
* exec/trace.c (handle_clone_prepare):
(handle_clone): When !REENTRANT, use malloc to allocate
tracees after running out of static ones.

exec/trace.c

index 974df1dd5e1b9bf80e4d713a9a32bb6917e0fbbd..23db8ebcbc7ec8d079e2242b037091c91c0a419d 100644 (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;