thanks for all the patches. I'll get those incorporated into TORQUE tonight<br><br><div class="gmail_quote">On Thu, Jul 3, 2008 at 2:26 PM, Tobias Burnus <<a href="mailto:burnus@net-b.de">burnus@net-b.de</a>> wrote:<br>
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">Hello,<br>
<br>
<br>
First, compiling 2.3.1 fails here with:<br>
|<br>
cc1: warnings being treated as errors<br>
mom_server.c: In function 'is_mom_server_down':<br>
mom_server.c:2536: error: array subscript is above array bounds<br>
<br>
<br>
I believe that the logic of the for loop is wrong and the following patch is correct. Please check - especially check whether "==" or "!=" is correct.<br>
<br>
|||<br>
<br>
--- ../torque-2.3.1.orig/src/resmom/mom_server.c 2008-07-02 23:01:03.000000000 +0200<br>
+++ src/resmom/mom_server.c 2008-07-03 19:31:56.000000000 +0200<br>
@@ -2533,7 +2533,7 @@ is_mom_server_down(pbs_net_t server_addr<br>
{<br>
int sindex;<br>
<br>
- for (sindex = 0; sindex < PBS_MAXSERVER || down_svraddrs[sindex] == 0; sindex++)<br>
+ for (sindex = 0; sindex < PBS_MAXSERVER && down_svraddrs[sindex] != 0; sindex++)<br>
{<br>
if (down_svraddrs[sindex] == server_address)<br>
{<br>
<br>
<br>
<br>
Fixing it, it fails with:<br>
<br>
|cc1: warnings being treated as errors<br>
start_exec.c: In function 'std_file_name':<br>
start_exec.c:5289: error: comparison with string literal results in unspecified behavior<br>
<br>
<br>
Which is fixed by:<br>
<br>
--- ../torque-2.3.1.orig/src/resmom/start_exec.c 2008-07-02 22:57:23.000000000 +0200<br>
+++ src/resmom/start_exec.c 2008-07-03 20:10:14.000000000 +0200<br>
@@ -5286,7 +5286,7 @@<br>
<br>
/* don't do for checkpoint file names, only StdErr and StdOut */<br>
<br>
- if (suffix != JOB_CKPT_SUFFIX)<br>
+ if (strcmp(suffix, JOB_CKPT_SUFFIX) != 0)<br>
{<br>
pt = strstr(jobpath,"$HOME");<br>
<br>
<br>
|<br>
<br>
Secondly, it would be great if for 2.3.2 the invalid-memory-access bug in qsub could be fixed.<br>
<a href="http://www.clusterresources.com/pipermail/torquedev/2008-July/001119.html" target="_blank">http://www.clusterresources.com/pipermail/torquedev/2008-July/001119.html</a><br>
<br>
<br>
Thirdly, with all checking turned on, I need the attached patch in order to build Torque; please consider including them - especially prototype.patch.<br>
<br>
Regards,<br><font color="#888888">
<br>
Tobias<br>
<br>
</font><br>Thu, 03 Jul 2008 18:54:51 +0200 Tobias Burnus <<a href="mailto:burnus@net-b.de">burnus@net-b.de</a>><br>
<br>
Fix rpmlint errors: Return value of fwrite/fread was not checked.<br>
<br>
diff -ur ../torque-2.3.1.orig/src/resmom/linux/cpuset.c ./src/resmom/linux/cpuset.c<br>
--- ../torque-2.3.1.orig/src/resmom/linux/cpuset.c 2008-06-13 01:01:03.000000000 +0200<br>
+++ ./src/resmom/linux/cpuset.c 2008-07-03 18:51:04.000000000 +0200<br>
@@ -139,7 +139,11 @@<br>
strcat(path,"/cpus");<br>
fd=fopen(path,"r");<br>
if (fd) { /* FIXME: need proper error checking and response */<br>
- fread(cpuset_buf, sizeof(char), 1023, fd);<br>
+ if (!fread(cpuset_buf, sizeof(char), 1023, fd))<br>
+ {<br>
+ perror("Readings cpus");<br>
+ exit(1);<br>
+ }<br>
fclose(fd);<br>
strcpy(path,TCPUSET_PATH);<br>
strcat(path,"/cpus");<br>
@@ -147,7 +151,11 @@<br>
if (fd) {<br>
sprintf (log_buffer, "adding %s to %s",cpuset_buf,path);<br>
log_err(-1,id,log_buffer);<br>
- fwrite(cpuset_buf, sizeof(char), strlen(cpuset_buf), fd);<br>
+ if(!fwrite(cpuset_buf, sizeof(char), strlen(cpuset_buf), fd))<br>
+ {<br>
+ perror("Writing cpus");<br>
+ exit(1);<br>
+ }<br>
fclose(fd);<br>
}<br>
memset(cpuset_buf,'\0',sizeof(cpuset_buf));<br>
@@ -158,7 +166,11 @@<br>
strcat(path,"/mems");<br>
fd=fopen(path,"r");<br>
if (fd) {<br>
- fread(cpuset_buf, sizeof(char), 1023, fd);<br>
+ if (!fread(cpuset_buf, sizeof(char), 1023, fd))<br>
+ {<br>
+ perror("Readings mems");<br>
+ exit(1);<br>
+ }<br>
fclose(fd);<br>
strcpy(path,TCPUSET_PATH);<br>
strcat(path,"/mems");<br>
@@ -166,7 +178,11 @@<br>
if (fd) {<br>
sprintf (log_buffer, "adding %s to %s",cpuset_buf,path);<br>
log_err(-1,id,log_buffer);<br>
- fwrite(cpuset_buf, sizeof(char), strlen(cpuset_buf), fd);<br>
+ if (!fwrite(cpuset_buf, sizeof(char), strlen(cpuset_buf), fd))<br>
+ {<br>
+ perror("Writing mems");<br>
+ exit(1);<br>
+ }<br>
fclose(fd);<br>
}<br>
memset(cpuset_buf,'\0',sizeof(cpuset_buf));<br>
@@ -258,12 +274,20 @@<br>
strcat(rootpath,"/mems");<br>
fd=fopen(rootpath,"r");<br>
if (fd) {<br>
- fread(cpusbuf, sizeof(char), 1023, fd);<br>
+ if (!fread(cpusbuf, sizeof(char), 1023, fd))<br>
+ {<br>
+ perror("Readings mems");<br>
+ exit(1);<br>
+ }<br>
fclose(fd);<br>
strcpy(tmppath,path);<br>
strcat(tmppath,"/mems");<br>
fd=fopen(tmppath,"w");<br>
- fwrite(cpusbuf, sizeof(char), strlen(cpusbuf), fd);<br>
+ if (fwrite(cpusbuf, sizeof(char), strlen(cpusbuf), fd))<br>
+ {<br>
+ perror("Writing mems");<br>
+ exit(1);<br>
+ }<br>
fclose(fd);<br>
memset(cpusbuf,'\0',sizeof(cpusbuf));<br>
}<br>
@@ -294,7 +318,12 @@<br>
log_err(-1,id,log_buffer);<br>
fd=fopen(tmppath,"w");<br>
if (fd) {<br>
- fwrite(cpusbuf, sizeof(char), strlen(cpusbuf), fd);<br>
+ if (!fwrite(cpusbuf, sizeof(char), strlen(cpusbuf), fd))<br>
+ {<br>
+ perror("Writing cpu sets");<br>
+ exit(1);<br>
+ }<br>
+<br>
fclose(fd);<br>
}<br>
memset(cpusbuf,'\0',sizeof(cpusbuf));<br>
@@ -316,7 +345,11 @@<br>
log_err(-1,id,log_buffer);<br>
fd=fopen(tmppath,"w");<br>
if (fd) {<br>
- fwrite(tasksbuf, sizeof(char), strlen(tasksbuf), fd);<br>
+ if (!fwrite(tasksbuf, sizeof(char), strlen(tasksbuf), fd))<br>
+ {<br>
+ perror("Writing cpus");<br>
+ exit(1);<br>
+ }<br>
fclose(fd);<br>
}<br>
memset(tasksbuf,'\0',sizeof(tasksbuf));<br>
@@ -326,7 +359,11 @@<br>
sprintf(tmppath,"%s/%s/%s",TCPUSET_PATH,pjob->ji_qs.ji_jobid,"/mems");<br>
fd=fopen(tmppath,"r");<br>
if (fd) {<br>
- fread(tasksbuf, sizeof(char), 1023, fd);<br>
+ if (!fread(tasksbuf, sizeof(char), 1023, fd))<br>
+ {<br>
+ perror("Reading tasksets");<br>
+ exit(1);<br>
+ }<br>
fclose(fd);<br>
}<br>
sprintf(tmppath,"%s/%s/%d/%s",TCPUSET_PATH,pjob->ji_qs.ji_jobid,np->vn_node,"/mems");<br>
@@ -334,7 +371,11 @@<br>
if (fd) {<br>
sprintf (log_buffer, "adding %s to %s",tasksbuf,tmppath);<br>
log_err(-1,id,log_buffer);<br>
- fwrite(tasksbuf, sizeof(char), strlen(tasksbuf), fd);<br>
+ if (!fwrite(tasksbuf, sizeof(char), strlen(tasksbuf), fd))<br>
+ {<br>
+ perror("Writing tasksets");<br>
+ exit(1);<br>
+ }<br>
fclose(fd);<br>
}<br>
memset(tasksbuf,'\0',sizeof(tasksbuf));<br>
@@ -366,7 +407,11 @@<br>
<br>
fd=fopen(taskspath,"w");<br>
if (fd) {<br>
- fwrite(pidbuf,sizeof(char),strlen(pidbuf),fd);<br>
+ if (!fwrite(pidbuf,sizeof(char),strlen(pidbuf),fd))<br>
+ {<br>
+ perror("Writing pid buffer");<br>
+ exit(1);<br>
+ }<br>
fclose(fd);<br>
}<br>
memset(pidbuf,'\0',sizeof(pidbuf));<br>
@@ -393,7 +438,11 @@<br>
<br>
fd=fopen(taskspath,"w");<br>
if (fd) {<br>
- fwrite(pidbuf,sizeof(char),strlen(pidbuf),fd);<br>
+ if (!fwrite(pidbuf,sizeof(char),strlen(pidbuf),fd))<br>
+ {<br>
+ perror("Writing pid buffer");<br>
+ exit(1);<br>
+ }<br>
fclose(fd);<br>
}<br>
memset(pidbuf,'\0',sizeof(pidbuf));<br>
<br>Tue Apr 1 18:14:02 CEST 2008 Tobias Burnus <<a href="mailto:burnus@net-b.de">burnus@net-b.de</a>><br>
<br>
'freopen' is declared with attribute warn_unused_result<br>
and torque build with -Werror. The return value of freopen is now checked.<br>
<br>
diff -ur ../torque-2.3.0.orig/src/scheduler.cc/pbs_sched.c ./src/scheduler.cc/pbs_sched.c<br>
--- ../torque-2.3.0.orig/src/scheduler.cc/pbs_sched.c 2008-03-06 22:29:03.000000000 +0100<br>
+++ ./src/scheduler.cc/pbs_sched.c 2008-04-01 18:11:58.000000000 +0200<br>
@@ -981,7 +981,13 @@<br>
<br>
lock_out(lockfds, F_WRLCK);<br>
<br>
- freopen(dbfile, "a", stdout);<br>
+ if (freopen(dbfile, "a", stdout) == NULL)<br>
+ {<br>
+ perror("opening lockfile");<br>
+<br>
+ exit(1);<br>
+ }<br>
+<br>
<br>
setvbuf(stdout, NULL, _IOLBF, 0);<br>
<br>
@@ -995,7 +1001,12 @@<br>
pid = getpid();<br>
}<br>
<br>
- freopen("/dev/null", "r", stdin);<br>
+ if (freopen("/dev/null", "r", stdin) == NULL)<br>
+ {<br>
+ perror("opening /dev/null");<br>
+<br>
+ exit(1);<br>
+ }<br>
<br>
/* write scheduler's pid into lockfile */<br>
<br>
<br>Thu, 03 Jul 2008 19:09:06 +0200 Tobias Burnus <<a href="mailto:burnus@net-b.de">burnus@net-b.de</a>><br>
<br>
init.d LSB conformance fixes.<br>
<br>
diff -ur ../torque-2.3.1.orig/contrib/init.d/suse.pbs_mom contrib//init.d/suse.pbs_mom<br>
--- ../torque-2.3.1.orig/contrib/init.d/suse.pbs_mom 2008-03-06 22:29:09.000000000 +0100<br>
+++ contrib//init.d/suse.pbs_mom 2008-07-03 19:41:01.000000000 +0200<br>
@@ -4,13 +4,16 @@<br>
#<br>
### BEGIN INIT INFO<br>
# Provides: pbs_mom<br>
-# Required-Start: $local_fs<br>
+# Required-Start: $syslog $remote_fs<br>
# Should-Start: pbs_server pbs_sched<br>
-# Required-Stop:<br>
+# Required-Stop: $syslog $remote_fs<br>
# Should-Stop:<br>
# Default-Start: 2 3 5<br>
# Default-Stop:<br>
-# Description: Torque is a versatile batch system for SMPs and clusters<br>
+# Short-Description: Torque Node Manager Daemon<br>
+# Description: Torque is a versatile batch system for SMPs and clusters.<br>
+# This starts the operation of a batch Machine Oriented Mini-server,<br>
+# MOM, on the local host.<br>
### END INIT INFO<br>
<br>
PBS_DAEMON=/usr/sbin/pbs_mom<br>
diff -ur ../torque-2.3.1.orig/contrib/init.d/suse.pbs_sched contrib//init.d/suse.pbs_sched<br>
--- ../torque-2.3.1.orig/contrib/init.d/suse.pbs_sched 2008-03-06 22:29:09.000000000 +0100<br>
+++ contrib//init.d/suse.pbs_sched 2008-07-03 19:41:05.000000000 +0200<br>
@@ -4,13 +4,18 @@<br>
#<br>
### BEGIN INIT INFO<br>
# Provides: pbs_sched<br>
-# Required-Start: $local_fs<br>
+# Required-Start: $syslog $remote_fs<br>
# Should-Start: pbs_server<br>
-# Required-Stop:<br>
+# Required-Stop: $syslog $remote_fs<br>
# Should-Stop:<br>
# Default-Start: 2 3 5<br>
# Default-Stop:<br>
-# Description: Torque is a versatile batch system for SMPs and clusters<br>
+# Short-Description: Torque scheduler<br>
+# Description: Torque is a versatile batch system for SMPs and clusters.<br>
+# Starts the PBS scheduler, which runs in conjunction with the PBS server.<br>
+# it queries the server about the state of PBS and communicates with<br>
+# pbs_resmon to get information about the status of running jobs, memory<br>
+# available etc. It then makes decisions as to what jobs to run.<br>
### END INIT INFO<br>
<br>
PBS_DAEMON=/usr/sbin/pbs_sched<br>
diff -ur ../torque-2.3.1.orig/contrib/init.d/suse.pbs_server contrib//init.d/suse.pbs_server<br>
--- ../torque-2.3.1.orig/contrib/init.d/suse.pbs_server 2008-03-06 22:29:09.000000000 +0100<br>
+++ contrib//init.d/suse.pbs_server 2008-07-03 19:08:02.000000000 +0200<br>
@@ -4,13 +4,16 @@<br>
#<br>
### BEGIN INIT INFO<br>
# Provides: pbs_server<br>
-# Required-Start: $local_fs<br>
+# Required-Start: $syslog $remote_fs<br>
# Should-Start:<br>
-# Required-Stop:<br>
+# Required-Stop: $syslog $remote_fs<br>
# Should-Stop:<br>
# Default-Start: 2 3 5<br>
# Default-Stop:<br>
-# Description: Torque is a versatile batch system for SMPs and clusters<br>
+# Short-Description: Torque server<br>
+# Description: Torque is a versatile batch system for SMPs and clusters.<br>
+# Starts the PBS batch server, which operates as batch server<br>
+# on the local host.<br>
### END INIT INFO<br>
<br>
PBS_DAEMON=/usr/sbin/pbs_server<br>
<br>Thu Apr 24 10:32:28 CEST 2008 Tobias Burnus <<a href="mailto:burnus@net-b.de">burnus@net-b.de</a>><br>
<br>
Fix prototype declaration for -Wunprototyped-calls.<br>
<br>
<br>
diff -r -p -u ../torque-2.3.0.orig//doc/soelim.c .//doc/soelim.c<br>
--- ../torque-2.3.0.orig//doc/soelim.c 2008-03-06 22:29:12.000000000 +0100<br>
+++ .//doc/soelim.c 2008-04-24 14:57:55.000000000 +0200<br>
@@ -102,7 +102,7 @@ int main(argc, argv)<br>
int argc;<br>
char *argv[];<br>
{<br>
- int dofile();<br>
+ int dofile(FILE *);<br>
int dirct = 0;<br>
FILE *filein;<br>
int i;<br>
diff -r -p -u ../torque-2.3.0.orig//src/cmds/qdisable.c .//src/cmds/qdisable.c<br>
--- ../torque-2.3.0.orig//src/cmds/qdisable.c 2008-03-06 22:28:55.000000000 +0100<br>
+++ .//src/cmds/qdisable.c 2008-04-24 13:19:46.000000000 +0200<br>
@@ -110,7 +110,7 @@<br>
<br>
int exitstatus = 0; /* Exit Status */<br>
<br>
-static void execute ();<br>
+static void execute (char *, char *);<br>
<br>
int main ( argc, argv )<br>
int argc;<br>
diff -r -p -u ../torque-2.3.0.orig//src/cmds/qenable.c .//src/cmds/qenable.c<br>
--- ../torque-2.3.0.orig//src/cmds/qenable.c 2008-03-06 22:28:55.000000000 +0100<br>
+++ .//src/cmds/qenable.c 2008-04-24 13:27:49.000000000 +0200<br>
@@ -109,7 +109,7 @@<br>
<br>
<br>
int exitstatus = 0; /* Exit Status */<br>
-static void execute ();<br>
+static void execute (char *, char *);<br>
<br>
<br>
int main(<br>
diff -r -p -u ../torque-2.3.0.orig//src/cmds/qrun.c .//src/cmds/qrun.c<br>
--- ../torque-2.3.0.orig//src/cmds/qrun.c 2008-03-06 22:28:55.000000000 +0100<br>
+++ .//src/cmds/qrun.c 2008-04-24 13:36:27.000000000 +0200<br>
@@ -101,7 +101,7 @@<br>
#include <pbs_config.h> /* the master config generated by configure */<br>
<br>
int exitstatus = 0; /* Exit Status */<br>
-static void execute();<br>
+static void execute(char *, char *, char *, int);<br>
<br>
<br>
<br>
diff -r -p -u ../torque-2.3.0.orig//src/cmds/qstart.c .//src/cmds/qstart.c<br>
--- ../torque-2.3.0.orig//src/cmds/qstart.c 2008-03-06 22:28:55.000000000 +0100<br>
+++ .//src/cmds/qstart.c 2008-04-24 13:36:39.000000000 +0200<br>
@@ -108,7 +108,7 @@<br>
<br>
<br>
int exitstatus = 0; /* Exit Status */<br>
-static void execute ();<br>
+static void execute (char *, char *);<br>
<br>
<br>
int main (<br>
diff -r -p -u ../torque-2.3.0.orig//src/cmds/qstop.c .//src/cmds/qstop.c<br>
--- ../torque-2.3.0.orig//src/cmds/qstop.c 2008-03-06 22:28:55.000000000 +0100<br>
+++ .//src/cmds/qstop.c 2008-04-24 13:36:48.000000000 +0200<br>
@@ -108,7 +108,7 @@<br>
<br>
<br>
int exitstatus = 0; /* Exit Status */<br>
-static void execute ();<br>
+static void execute (char *, char *);<br>
<br>
<br>
int main ( argc, argv )<br>
diff -r -p -u ../torque-2.3.0.orig//src/cmds/qterm.c .//src/cmds/qterm.c<br>
--- ../torque-2.3.0.orig//src/cmds/qterm.c 2008-03-06 22:28:55.000000000 +0100<br>
+++ .//src/cmds/qterm.c 2008-04-24 13:37:00.000000000 +0200<br>
@@ -113,7 +113,7 @@<br>
<br>
int exitstatus = 0; /* Exit Status */<br>
<br>
-static void execute();<br>
+static void execute(int, char *);<br>
<br>
int main(<br>
<br>
diff -r -p -u ../torque-2.3.0.orig//src/include/md5.h .//src/include/md5.h<br>
--- ../torque-2.3.0.orig//src/include/md5.h 2008-03-06 22:28:54.000000000 +0100<br>
+++ .//src/include/md5.h 2008-04-24 13:03:03.000000000 +0200<br>
@@ -55,9 +55,9 @@ typedef struct {<br>
unsigned char digest[16]; /* actual digest after MD5Final call */<br>
} MD5_CTX;<br>
<br>
-void MD5Init ();<br>
-void MD5Update ();<br>
-void MD5Final ();<br>
+void MD5Init (MD5_CTX *);<br>
+void MD5Update (MD5_CTX *, unsigned char *, unsigned int);<br>
+void MD5Final (MD5_CTX *);<br>
<br>
#define __MD5_INCLUDE__<br>
#endif /* __MD5_INCLUDE__ */<br>
diff -r -p -u ../torque-2.3.0.orig//src/include/mom_func.h .//src/include/mom_func.h<br>
--- ../torque-2.3.0.orig//src/include/mom_func.h 2008-03-06 22:28:54.000000000 +0100<br>
+++ .//src/include/mom_func.h 2008-04-24 12:52:13.000000000 +0200<br>
@@ -149,7 +149,7 @@ extern void set_globid A_((job *, struc<br>
extern int set_mach_vars A_((job *, struct var_table *));<br>
extern char *set_shell A_((job *, struct passwd *));<br>
extern void start_exec A_((job *));<br>
-extern int open_master();<br>
+extern int open_master(char **);<br>
extern int open_slave();<br>
extern char *rcvttype A_((int));<br>
extern int rcvwinsize A_((int));<br>
diff -r -p -u ../torque-2.3.0.orig//src/include/qmgr.h .//src/include/qmgr.h<br>
--- ../torque-2.3.0.orig//src/include/qmgr.h 2008-03-06 22:28:54.000000000 +0100<br>
+++ .//src/include/qmgr.h 2008-04-24 14:14:18.000000000 +0200<br>
@@ -166,30 +166,30 @@ struct objname<br>
<br>
<br>
/* prototypes */<br>
-struct objname *commalist2objname();<br>
-struct server *find_server();<br>
+struct objname *commalist2objname(char *, int);<br>
+struct server *find_server(char *);<br>
struct server *make_connection();<br>
struct server *new_server();<br>
struct objname *new_objname();<br>
-struct objname *strings2objname( );<br>
+struct objname *strings2objname(char **, int, int);<br>
struct objname *default_server_name();<br>
-struct objname *temp_objname();<br>
-int parse_request( );<br>
-void clean_up_and_exit();<br>
-void freeattrl();<br>
-void freeattropl();<br>
-void pstderr_big();<br>
-void free_objname_list();<br>
-void free_server();<br>
-void free_objname();<br>
+struct objname *temp_objname(char *, char *, struct server *);<br>
+int parse_request(char *, char [][MAX_REQ_WORD_LEN]);<br>
+void clean_up_and_exit(int);<br>
+void freeattrl(struct attrl *);<br>
+void freeattropl(struct attropl *);<br>
+void pstderr_big(char *, char*, char *);<br>
+void free_objname_list(struct objname *);<br>
+void free_server(struct server *);<br>
+void free_objname(struct objname *);<br>
void close_non_ref_servers();<br>
-int connect_servers();<br>
-int set_active();<br>
-int get_request();<br>
-int parse();<br>
-int execute();<br>
-int is_attr();<br>
-int is_valid_object();<br>
+int connect_servers(struct objname *, int);<br>
+int set_active(int, struct objname *);<br>
+int get_request(char *);<br>
+int parse(char *, int *, int *, char **, struct attropl **);<br>
+int execute(int, int, int, char *, struct attropl *);<br>
+int is_attr(int, char *, int);<br>
+int is_valid_object(struct objname *, int);<br>
void disconnect_from_server();<br>
<br>
<br>
diff -r -p -u ../torque-2.3.0.orig//src/lib/Libnet/md5.c .//src/lib/Libnet/md5.c<br>
--- ../torque-2.3.0.orig//src/lib/Libnet/md5.c 2008-03-06 22:29:09.000000000 +0100<br>
+++ .//src/lib/Libnet/md5.c 2008-04-24 10:27:41.000000000 +0200<br>
@@ -49,7 +49,7 @@<br>
*/<br>
<br>
/* forward declaration */<br>
-static void Transform ();<br>
+static void Transform (UINT4 *, UINT4 *);<br>
<br>
static unsigned char PADDING[64] = {<br>
0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,<br>
diff -r -p -u ../torque-2.3.0.orig//src/lib/Libnet/net_server.c .//src/lib/Libnet/net_server.c<br>
--- ../torque-2.3.0.orig//src/lib/Libnet/net_server.c 2008-03-06 22:29:09.000000000 +0100<br>
+++ .//src/lib/Libnet/net_server.c 2008-04-24 11:08:33.000000000 +0200<br>
@@ -115,7 +115,7 @@ extern int LOGLEVEL;<br>
<br>
extern void process_request A_((int));<br>
<br>
-extern time_t time();<br>
+extern time_t time(time_t *);<br>
<br>
/* Global Data (I wish I could make it private to the library, sigh, but<br>
* C don't support that scope of control.)<br>
diff -r -p -u ../torque-2.3.0.orig//src/resmom/start_exec.c .//src/resmom/start_exec.c<br>
--- ../torque-2.3.0.orig//src/resmom/start_exec.c 2008-03-06 22:29:05.000000000 +0100<br>
+++ .//src/resmom/start_exec.c 2008-04-24 13:11:05.000000000 +0200<br>
@@ -4644,9 +4644,9 @@ void start_exec(<br>
<br>
MD5Init(&c);<br>
<br>
- MD5Update(&c,(caddr_t)&loopcnt,sizeof(loopcnt));<br>
+ MD5Update(&c,(unsigned char *)&loopcnt,sizeof(loopcnt));<br>
<br>
- MD5Update(&c,(caddr_t)pjob,sizeof(job));<br>
+ MD5Update(&c,(unsigned char *)pjob,sizeof(job));<br>
<br>
MD5Final(&c);<br>
<br>
diff -r -p -u ../torque-2.3.0.orig//src/server/req_stat.c .//src/server/req_stat.c<br>
--- ../torque-2.3.0.orig//src/server/req_stat.c 2008-03-06 22:29:06.000000000 +0100<br>
+++ .//src/server/req_stat.c 2008-04-24 11:56:13.000000000 +0200<br>
@@ -119,7 +119,7 @@ extern attribute_def node_attr_def[];<br>
extern int pbs_mom_port;<br>
extern time_t time_now;<br>
extern char *msg_init_norerun;<br>
-extern struct pbsnode *tfind_addr();<br>
+extern struct pbsnode *tfind_addr(const u_long);<br>
extern int LOGLEVEL;<br>
<br>
/* Extern Functions */<br>
<br>_______________________________________________<br>
torquedev mailing list<br>
<a href="mailto:torquedev@supercluster.org">torquedev@supercluster.org</a><br>
<a href="http://www.supercluster.org/mailman/listinfo/torquedev" target="_blank">http://www.supercluster.org/mailman/listinfo/torquedev</a><br>
<br></blockquote></div><br>