about summary refs log tree commit diff
path: root/docs/env_variables.md
diff options
context:
space:
mode:
authorvan Hauser <vh@thc.org>2022-10-24 20:01:36 +0200
committerGitHub <noreply@github.com>2022-10-24 20:01:36 +0200
commit02502c1a543b2150bec78fbac2f0fcf1f4cd7a5a (patch)
tree690fe65fc6663cbd80711f89882d67643210692d /docs/env_variables.md
parente9ecfed81dfd57f557a0e91d4f8ac106cfe867a2 (diff)
parent2cbe49c6eb9fa3514289a088e68c847949d9d4cc (diff)
downloadafl++-02502c1a543b2150bec78fbac2f0fcf1f4cd7a5a.tar.gz
Merge pull request #1563 from nbars/stable
Fix child reaping on fuzzer termination
Diffstat (limited to 'docs/env_variables.md')
-rw-r--r--docs/env_variables.md15
1 files changed, 13 insertions, 2 deletions
diff --git a/docs/env_variables.md b/docs/env_variables.md
index 1abe9438..d1c13e15 100644
--- a/docs/env_variables.md
+++ b/docs/env_variables.md
@@ -409,11 +409,22 @@ checks or alter some of the more exotic semantics of the tool:
     the afl-fuzz -g/-G command line option to control the minimum/maximum
     of fuzzing input generated.
 
-  - `AFL_KILL_SIGNAL`: Set the signal ID to be delivered to child processes on
-    timeout. Unless you implement your own targets or instrumentation, you
+  - `AFL_KILL_SIGNAL`: Set the signal ID to be delivered to child processes
+    on timeout. Unless you implement your own targets or instrumentation, you
     likely don't have to set it. By default, on timeout and on exit, `SIGKILL`
     (`AFL_KILL_SIGNAL=9`) will be delivered to the child.
 
+  - `AFL_FORK_SERVER_KILL_SIGNAL`: Set the signal ID to be delivered to the
+    fork server when AFL++ is terminated. Unless you implement your
+    fork server, you likely do not have to set it. By default, `SIGTERM`
+    (`AFL_FORK_SERVER_KILL_SIGNAL=15`) will be delivered to the fork server.
+    If only `AFL_KILL_SIGNAL` is provided, `AFL_FORK_SERVER_KILL_SIGNAL` will
+    be set to same value as `AFL_KILL_SIGNAL` to provide backward compatibility.
+    If `AFL_FORK_SERVER_KILL_SIGNAL` is also set, it takes precedence.
+
+    NOTE: Uncatchable signals, such as `SIGKILL`, cause child processes of
+    the fork server to be orphaned and leaves them in a zombie state.
+
   - `AFL_MAP_SIZE` sets the size of the shared map that afl-analyze, afl-fuzz,
     afl-showmap, and afl-tmin create to gather instrumentation data from the
     target. This must be equal or larger than the size the target was compiled