From 4906867f76b7c1e59fb0f7d8ff142993491f95b8 Mon Sep 17 00:00:00 2001
From: Moe Jette <jette1@llnl.gov>
Date: Thu, 12 Sep 2002 21:16:32 +0000
Subject: [PATCH] Define functions and other minor code changes to remove build
 warning messages.

---
 src/common/qsw.c               |  2 ++
 src/common/qsw.h               |  2 ++
 src/slurmctld/controller.c     |  2 +-
 src/slurmctld/job_mgr.c        | 16 +++++-----------
 src/slurmd/elan_interconnect.c | 14 ++++++++------
 src/slurmd/interconnect.h      |  6 ++++++
 src/slurmd/nbio.c              |  2 +-
 src/slurmd/nbio.h              |  2 +-
 src/slurmd/no_interconnect.c   |  2 +-
 src/slurmd/pipes.c             |  1 -
 src/slurmd/task_mgr.c          |  6 +++---
 11 files changed, 30 insertions(+), 25 deletions(-)

diff --git a/src/common/qsw.c b/src/common/qsw.c
index 76757b012dd..787d16e77cb 100644
--- a/src/common/qsw.c
+++ b/src/common/qsw.c
@@ -48,6 +48,7 @@
 #include <rms/rmscall.h>
 
 #include <src/common/bitstring.h>
+#include <src/common/log.h>
 #include <src/common/pack.h>
 #include <src/common/qsw.h>
 #include <src/common/slurm_errno.h>
@@ -283,6 +284,7 @@ qsw_free_jobinfo(qsw_jobinfo_t j)
  *   data (OUT)		where to store packed data
  *   len (IN)		max size of data 
  *   RETURN		#bytes unused in 'data' or -1 on error (sets errno)
+ * NOTE: Keep in sync with QSW_PACK_SIZE above
  */
 int
 qsw_pack_jobinfo(qsw_jobinfo_t j, void **data, int *len)
diff --git a/src/common/qsw.h b/src/common/qsw.h
index 2fefc9bbe1f..daf9f33b960 100644
--- a/src/common/qsw.h
+++ b/src/common/qsw.h
@@ -37,6 +37,7 @@ typedef struct qsw_jobinfo 	*qsw_jobinfo_t;
 #define QSW_LIBSTATE_PACK_MAX	12
 #define QSW_JOBINFO_PACK_MAX	120
 #define QSW_MAX_TASKS		1024
+#define QSW_PACK_SIZE		(4 * (2+4+1+8+ELAN_BITMAPSIZE))
 
 int		qsw_alloc_libstate(qsw_libstate_t *lsp);
 void		qsw_free_libstate(qsw_libstate_t ls);
@@ -69,5 +70,6 @@ int		qsw_getnodeid(void);
 int		qsw_getnodeid_byhost(char *host);
 int		qsw_gethost_bynodeid(char *host, int len, int elanid);
 
+void		qsw_print_jobinfo(FILE *fp, struct qsw_jobinfo *jobinfo);
 
 #endif /* _QSW_INCLUDED */
diff --git a/src/slurmctld/controller.c b/src/slurmctld/controller.c
index eb153193ef4..27b8d49d91e 100644
--- a/src/slurmctld/controller.c
+++ b/src/slurmctld/controller.c
@@ -236,7 +236,7 @@ slurmctld_signal_hand ( void * no_data )
 				if (error_code)
 					error ("read_slurm_conf error %d", error_code);
 				break;
-			case SIBABRT:	/* abort */
+			case SIGABRT:	/* abort */
 				fatal ("SIGABRT received");
 				break;
 			default:
diff --git a/src/slurmctld/job_mgr.c b/src/slurmctld/job_mgr.c
index e5ecee97b87..3e8f716a4e1 100644
--- a/src/slurmctld/job_mgr.c
+++ b/src/slurmctld/job_mgr.c
@@ -42,7 +42,8 @@
 #ifdef HAVE_LIBELAN3
 #include <elan3/elan3.h>
 #include <elan3/elanvp.h>
-#define BUF_SIZE (1024 + ELAN_MAX_VPS)
+#include <src/common/qsw.h>
+#define BUF_SIZE (1024 + QSW_PACK_SIZE)
 #else
 #define BUF_SIZE 1024
 #endif
@@ -310,7 +311,7 @@ dump_all_job_state ( void )
 			fatal ("dump_all_job: job integrity is bad");
 		buffer_needed = BUF_SIZE;
 #ifdef HAVE_LIBELAN3
-		buffer_needed += (step_count (job_record_point) * ELAN_MAX_VPS / 8);
+		buffer_needed += (step_count (job_record_point) * QSW_PACK_SIZE);
 #endif
 		if (buf_len < buffer_needed) {
 			buffer_allocated += buffer_needed;
@@ -407,13 +408,6 @@ dump_job_state (struct job_record *dump_job_ptr, void **buf_ptr, int *buf_len)
 	/* Dump job steps */
 	step_record_iterator = list_iterator_create (dump_job_ptr->step_list);		
 	while ((step_record_ptr = (struct step_record *) list_next (step_record_iterator))) {
-#ifdef HAVE_LIBELAN3
-		if (*buf_len < ((ELAN_MAX_VPS / 8) + 60)) {
-			fatal ("dump_job_state, buffer space too small for %u.%u",
-				dump_job_ptr->job_id, step_record_ptr->step_id);
-			break;
-		}
-#endif
 		pack16  ((uint16_t) STEP_FLAG, buf_ptr, buf_len);
 		dump_job_step_state (step_record_ptr, buf_ptr, buf_len);
 	};
@@ -522,7 +516,7 @@ dump_job_step_state (struct step_record *step_ptr, void **buf_ptr, int *buf_len)
 	packstr (node_list, buf_ptr, buf_len);
 	xfree (node_list);
 #ifdef HAVE_LIBELAN3
-	qsw_pack_jobinfo(step_ptr->qsw_job, (void **)buf_ptr, buf_len);
+	qsw_pack_jobinfo (step_ptr->qsw_job, (void **)buf_ptr, buf_len);
 #endif
 }
 
@@ -731,7 +725,7 @@ load_job_state ( void )
 				xfree (node_list);
 			}
 #ifdef HAVE_LIBELAN3
-			if (buffer_size < (2 * sizeof (uint16_t)))
+			if (buffer_size < QSW_PACK_SIZE)
 				break;
 			qsw_alloc_jobinfo(&step_ptr->qsw_job);
 			qsw_unpack_jobinfo(step_ptr->qsw_job, buf_ptr, &buffer_size);
diff --git a/src/slurmd/elan_interconnect.c b/src/slurmd/elan_interconnect.c
index 6c909c8e665..869469a6084 100644
--- a/src/slurmd/elan_interconnect.c
+++ b/src/slurmd/elan_interconnect.c
@@ -143,18 +143,20 @@ int interconnect_set_capabilities(task_start_t * task_start)
 /*
  * Set environment variables needed by QSW MPICH / libelan.
  */
-int interconnect_env(char ***env, int *envc, int nodeid, int nnodes, 
+int interconnect_env(char ***env, uint16_t *envc, int nodeid, int nnodes, 
 	             int procid, int nprocs)
 {
-	if (setenvpf(env, envc, "RMS_RANK=%d", procid) < 0)
+	int cnt = *envc;
+
+	if (setenvpf(env, &cnt, "RMS_RANK=%d", procid) < 0)
 		return -1;
-	if (setenvpf(env, envc, "RMS_NODEID=%d", nodeid) < 0)
+	if (setenvpf(env, &cnt, "RMS_NODEID=%d", nodeid) < 0)
 		return -1;
-	if (setenvpf(env, envc, "RMS_PROCID=%d", procid) < 0)
+	if (setenvpf(env, &cnt, "RMS_PROCID=%d", procid) < 0)
 		return -1;
-	if (setenvpf(env, envc, "RMS_NNODES=%d", nnodes) < 0)
+	if (setenvpf(env, &cnt, "RMS_NNODES=%d", nnodes) < 0)
 		return -1;
-	if (setenvpf(env, envc, "RMS_NPROCS=%d", nprocs) < 0)
+	if (setenvpf(env, &cnt, "RMS_NPROCS=%d", nprocs) < 0)
 		return -1;
 	return 0;
 }
diff --git a/src/slurmd/interconnect.h b/src/slurmd/interconnect.h
index e5fa4ec387f..c1eae5d9201 100644
--- a/src/slurmd/interconnect.h
+++ b/src/slurmd/interconnect.h
@@ -24,4 +24,10 @@ int fan_out_task_launch ( launch_tasks_request_msg_t * launch_msg );
  */
 int interconnect_set_capabilities ( task_start_t * task_start ) ;
 
+/*
+ * Set environment variables needed.
+ */
+int interconnect_env(char ***env, uint16_t *envc, int nodeid, int nnodes, 
+	             int procid, int nprocs) ;
+
 #endif
diff --git a/src/slurmd/nbio.c b/src/slurmd/nbio.c
index 886fb3e39e7..3ea17377e96 100644
--- a/src/slurmd/nbio.c
+++ b/src/slurmd/nbio.c
@@ -129,7 +129,7 @@ int init_nbio_attr(nbio_attr_t * nbio_attr, task_start_t * task_start)
 	return SLURM_SUCCESS;
 }
 
-void *do_nbio(void *arg)
+int do_nbio(void *arg)
 {
 	nbio_attr_t nbio_attr;
 	task_start_t *task_start = (task_start_t *) arg;
diff --git a/src/slurmd/nbio.h b/src/slurmd/nbio.h
index 03de1dd0026..8fbaba2c95c 100644
--- a/src/slurmd/nbio.h
+++ b/src/slurmd/nbio.h
@@ -1,6 +1,6 @@
 #ifndef _SLURMD_NBIO_H
 #define _SLURMD_NBIO_H
 
-void *do_nbio(void *arg);
+int do_nbio(void *arg);
 
 #endif
diff --git a/src/slurmd/no_interconnect.c b/src/slurmd/no_interconnect.c
index 860daba053e..cf7add7c9e3 100644
--- a/src/slurmd/no_interconnect.c
+++ b/src/slurmd/no_interconnect.c
@@ -25,7 +25,7 @@ int interconnect_set_capabilities ( task_start_t * task_start )
 /*
  * Set environment variables needed by QSW MPICH / libelan.
  */
-int interconnect_env(char ***env, int *envc, int nodeid, int nnodes, 
+int interconnect_env(char ***env, uint16_t *envc, int nodeid, int nnodes, 
 	             int procid, int nprocs)
 {
 	return SLURM_SUCCESS ;
diff --git a/src/slurmd/pipes.c b/src/slurmd/pipes.c
index e8db564cba8..b5b7bfddfc5 100644
--- a/src/slurmd/pipes.c
+++ b/src/slurmd/pipes.c
@@ -38,7 +38,6 @@ int init_parent_pipes(int *pipes)
 int setup_child_pipes(int *pipes)
 {
 	int error_code = SLURM_SUCCESS;
-	int local_errno;
 
 	/* dup stdin */
 	/* close ( STDIN_FILENO ); */
diff --git a/src/slurmd/task_mgr.c b/src/slurmd/task_mgr.c
index 96253b32fd1..f7dc4f9ecba 100644
--- a/src/slurmd/task_mgr.c
+++ b/src/slurmd/task_mgr.c
@@ -7,6 +7,7 @@
 #include <unistd.h>
 #include <string.h>
 #include <pthread.h>
+#include <unistd.h>
 
 #include <src/common/log.h>
 #include <src/common/list.h>
@@ -20,16 +21,15 @@
 #include <src/slurmd/circular_buffer.h>
 #include <src/slurmd/pipes.h>
 #include <src/slurmd/io.h>
+#include <src/slurmd/interconnect.h>
 
 /* global variables */
 
 /* prototypes */
 int kill_task(task_t * task, int signal);
+extern pid_t getsid(pid_t pid);
 
-int interconnect_init(launch_tasks_request_msg_t * launch_msg);
-int fan_out_task_launch(launch_tasks_request_msg_t * launch_msg);
 int send_task_exit_msg(int task_return_code, task_start_t * task_start);
-int interconnect_set_capabilities(task_start_t * task_start);
 
 /******************************************************************
  *task launch method call hierarchy
-- 
GitLab