don't swap 0 sids if ctx->arg->pids
PATCH 1/1 don't swap 0 sids if ctx->arg->pids
It breaks restart --pidns
Signed-off-by Serge E. Hallyn <serue-r/[email protected]>
--- restart.c | 13 +++++++------ 1 files changed, 7 insertions(+), 6 deletions(-)
restart.c +7 -6
@@ -2039,12 +2039,13 @@ static int ckpt_adjust_pids(struct ckpt_ctx *ctx)* NOTE: thanks to the construction of tasks_arr[], the first * ctx->pid_nr entries in both arrays match (the same pids). */ -for (m =0 ; m < ctx->pids_nr; m++) { -if (ctx->tasks_arr[m].flags &TASK_ZERO_SID ) - ctx->copy_arr[m].vsid = coord_sid; -if (ctx->tasks_arr[m].flags &TASK_ZERO_PGID ) - ctx->copy_arr[m].vpgid = coord_sid; - } +if (!ctx->args->pids) +for (m =0 ; m < ctx->pids_nr; m++) { +if (ctx->tasks_arr[m].flags &TASK_ZERO_SID ) + ctx->copy_arr[m].vsid = coord_sid; +if (ctx->tasks_arr[m].flags &TASK_ZERO_PGID ) + ctx->copy_arr[m].vpgid = coord_sid; + }memcpy (ctx->pids_arr, ctx->copy_arr, len);close (ctx->pipe_in);
Signature · 1 line
1.6.1.1
A message that is not in the archive (sent off-list or not yet received): 20091106073708.GA18978-r/[email protected]
pulled with a slight change: tests for !ctx->args->pidns instead of ctx->args->pids.
Oren.
Quoted 31 lines · Serge E. Hallyn
It breaks restart --pidns
Signed-off-by Serge E. Hallyn <serue-r/[email protected]>--- restart.c | 13 +++++++------ 1 files changed, 7 insertions(+), 6 deletions(-)restart.c +7
-6@@ -2039,12 +2039,13 @@ static int ckpt_adjust_pids(struct ckpt_ctx *ctx)* NOTE: thanks to the construction of tasks_arr[], the first * ctx->pid_nr entries in both arrays match (the same pids). */ -for (m =0 ; m < ctx->pids_nr; m++) { -if (ctx->tasks_arr[m].flags &TASK_ZERO_SID ) - ctx->copy_arr[m].vsid = coord_sid; -if (ctx->tasks_arr[m].flags &TASK_ZERO_PGID ) - ctx->copy_arr[m].vpgid = coord_sid; - } +if (!ctx->args->pids) +for (m =0 ; m < ctx->pids_nr; m++) { +if (ctx->tasks_arr[m].flags &TASK_ZERO_SID ) + ctx->copy_arr[m].vsid = coord_sid; +if (ctx->tasks_arr[m].flags &TASK_ZERO_PGID ) + ctx->copy_arr[m].vpgid = coord_sid; + }memcpy (ctx->pids_arr, ctx->copy_arr, len);close (ctx->pipe_in);