chaos-monkey-fork-process.patch
application/octet-stream
Filename: chaos-monkey-fork-process.patch
Type: application/octet-stream
Part: 0
Patch
Format: unified
| File | + | − |
|---|---|---|
| src/backend/postmaster/postmaster.c | 10 | 1 |
diff --git a/src/backend/postmaster/postmaster.c b/src/backend/postmaster/postmaster.c
index f3ddf828bbe..2eb1fdadd85 100644
--- a/src/backend/postmaster/postmaster.c
+++ b/src/backend/postmaster/postmaster.c
@@ -5663,6 +5663,15 @@ bgworker_forkexec(int shmem_slot)
}
#endif
+static int
+chaos_monkey_fork_process(void)
+{
+ if (rand() < (RAND_MAX / 2))
+ return fork_process();
+ else
+ return -1;
+}
+
/*
* Start a new bgworker.
* Starting time conditions must have been checked already.
@@ -5701,7 +5710,7 @@ do_start_bgworker(RegisteredBgWorker *rw)
#ifdef EXEC_BACKEND
switch ((worker_pid = bgworker_forkexec(rw->rw_shmem_slot)))
#else
- switch ((worker_pid = fork_process()))
+ switch ((worker_pid = chaos_monkey_fork_process()))
#endif
{
case -1: