From 498b781e2300681105fcf4a768c7a7d69a632ed1 Mon Sep 17 00:00:00 2001 From: Alexandre Julliard Date: Tue, 15 Aug 2006 20:31:54 +0200 Subject: [PATCH] server: Store the actual process count in snapshots. We can't rely on running_processes for that, since it now also counts processes waiting for SIGKILL and those aren't included in snapshots. --- server/process.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/server/process.c b/server/process.c index 733b1c59406..b36ca370852 100644 --- a/server/process.c +++ b/server/process.c @@ -733,6 +733,7 @@ struct process_snapshot *process_snap( int *count ) { struct process_snapshot *snapshot, *ptr; struct process *process; + if (!running_processes) return NULL; if (!(snapshot = mem_alloc( sizeof(*snapshot) * running_processes ))) return NULL; @@ -748,7 +749,12 @@ struct process_snapshot *process_snap( int *count ) grab_object( process ); ptr++; } - *count = running_processes; + + if (!(*count = ptr - snapshot)) + { + free( snapshot ); + snapshot = NULL; + } return snapshot; }