From c1eafd779450f04550d7ab3e8bd7408c8493e98f Mon Sep 17 00:00:00 2001
From: "Christopher J. Morrone" <morrone2@llnl.gov>
Date: Thu, 24 Aug 2006 01:05:07 +0000
Subject: [PATCH] Actually use the cpu_bind and mem_bind options (which will
 probably change completely anyway when the HP patch arrives...).

---
 slurm/slurm.h.in      | 4 ++++
 src/api/step_launch.c | 8 ++++----
 src/slaunch/slaunch.c | 4 ++++
 3 files changed, 12 insertions(+), 4 deletions(-)

diff --git a/slurm/slurm.h.in b/slurm/slurm.h.in
index 1fcf6329776..f230ab60f85 100644
--- a/slurm/slurm.h.in
+++ b/slurm/slurm.h.in
@@ -564,6 +564,10 @@ typedef struct {
 	bool parallel_debug;
 	char *task_prolog;
 	char *task_epilog;
+	cpu_bind_type_t cpu_bind_type;
+	char *cpu_bind;
+	mem_bind_type_t mem_bind_type;
+	char *mem_bind;
 } slurm_job_step_launch_t;
 
 typedef struct {
diff --git a/src/api/step_launch.c b/src/api/step_launch.c
index 9a0420d9051..00c6501abd8 100644
--- a/src/api/step_launch.c
+++ b/src/api/step_launch.c
@@ -188,10 +188,10 @@ int slurm_step_launch (slurm_step_ctx ctx,
 	launch.switch_job = ctx->step_resp->switch_job;
 	launch.task_prolog = params->task_prolog;
 	launch.task_epilog = params->task_epilog;
-	launch.cpu_bind_type = 0; /* FIXME opt.cpu_bind_type; */
-	launch.cpu_bind = NULL; /* FIXME opt.cpu_bind; */
-	launch.mem_bind_type = 0; /* FIXME opt.mem_bind_type; */
-	launch.mem_bind = NULL; /* FIXME opt.mem_bind; */
+	launch.cpu_bind_type = params->cpu_bind_type;
+	launch.cpu_bind = params->cpu_bind;
+	launch.mem_bind_type = params->mem_bind_type;
+	launch.mem_bind = params->mem_bind;
 	launch.multi_prog = params->multi_prog ? 1 : 0;
 
 	launch.options = job_options_create();
diff --git a/src/slaunch/slaunch.c b/src/slaunch/slaunch.c
index a282585aca1..e505ad39d10 100644
--- a/src/slaunch/slaunch.c
+++ b/src/slaunch/slaunch.c
@@ -240,6 +240,10 @@ int slaunch(int argc, char **argv)
 	params.remote_error_filename = opt.remote_efname;
 	params.task_prolog = opt.task_prolog;
 	params.task_epilog = opt.task_epilog;
+	params.cpu_bind = opt.cpu_bind;
+	params.cpu_bind_type = opt.cpu_bind_type;
+	params.mem_bind = opt.mem_bind;
+	params.mem_bind_type = opt.mem_bind_type;
 	
 	_setup_local_fds(&params.local_fds, step_ctx);
 	params.parallel_debug = opt.parallel_debug ? true : false;
-- 
GitLab