emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

feature/android d86643a7863: Remove arbitrary process count limit


From: Po Lu
Subject: feature/android d86643a7863: Remove arbitrary process count limit
Date: Sat, 20 May 2023 04:54:33 -0400 (EDT)

branch: feature/android
commit d86643a7863cef268b69d7925e0982bdb70ba672
Author: Po Lu <luangruo@yahoo.com>
Commit: Po Lu <luangruo@yahoo.com>

    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.
---
 exec/trace.c | 12 ++++++++++++
 1 file changed, 12 insertions(+)

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;
 



reply via email to

[Prev in Thread] Current Thread [Next in Thread]