Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
451 changes: 451 additions & 0 deletions .gitignore

Large diffs are not rendered by default.

2 changes: 2 additions & 0 deletions CHANGELOG
Original file line number Diff line number Diff line change
Expand Up @@ -73,6 +73,8 @@ c - crash b - bug fix e - enhancement f - new feature n - note
set to the login nodes. TRQ-1482.
b - Fix a bug that using -V got rid of -v. TRQ-1457.
b - Make qsub -I -x work again. TRQ-1483.
c - Fix a potential crash when getting the status of a login node in cray mode.
TRQ-1491.

4.1.3
b - fix a security loophole that potentially allowed an interactive job to run
Expand Down
1 change: 1 addition & 0 deletions Makefile.am
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@ EXTRA_DIST = acinclude.m4 \
CHANGELOG \
configure.ac \
cov_file_results.pl \
current_hash \
Doxyfile \
INSTALL \
INSTALL.GNU \
Expand Down
13 changes: 8 additions & 5 deletions configure.ac
Original file line number Diff line number Diff line change
Expand Up @@ -69,13 +69,16 @@ dnl be created in the include directory.
AM_CONFIG_HEADER([src/include/pbs_config.h])

dnl
dnl Find our svn revision number for program outputs
dnl Find our git revision hash for program outputs
dnl
AC_PATH_PROG(svnversioncommand, svnversion)
if test "X$svnversioncommand" != "X" && test `$svnversioncommand -n '.'` != "exported"; then
AC_DEFINE_UNQUOTED(SVN_VERSION, ["`svnversion -n`"], [repository svn version])
githash="`git rev-parse HEAD`"
success=$?
if test "X$success" != "X0" ; then
AC_DEFINE_UNQUOTED(GIT_HASH, ["$githash"], [repository svn version])
else
AC_DEFINE_UNQUOTED(SVN_VERSION, ["unknown"], [repository svn version])
dnl current hash is a file checked in to the git repo in the base directory
dnl containing the most recent hash
AC_DEFINE_UNQUOTED(GIT_HASH, ["`cat current_hash`"], [repository svn version])
fi


Expand Down
1 change: 1 addition & 0 deletions current_hash
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
a2498b31a71e656959f38ce8a88024fbc869eaad
2 changes: 1 addition & 1 deletion src/cmds/pbsnodes.c
Original file line number Diff line number Diff line change
Expand Up @@ -712,7 +712,7 @@ int main(
if ((optarg != NULL) && !strcmp(optarg, "version"))
{
fprintf(stderr, "Version: %s\nRevision: %s\n",
PACKAGE_VERSION, SVN_VERSION);
PACKAGE_VERSION, GIT_HASH);

exit(0);
}
Expand Down
2 changes: 1 addition & 1 deletion src/cmds/qstat.c
Original file line number Diff line number Diff line change
Expand Up @@ -2207,7 +2207,7 @@ int main(
if ((optarg != NULL) && !strcmp(optarg, "version"))
{
fprintf(stderr, "Version: %s\nRevision: %s\n",
PACKAGE_VERSION, SVN_VERSION);
PACKAGE_VERSION, GIT_HASH);

exit(0);
}
Expand Down
2 changes: 1 addition & 1 deletion src/include/pbs_job.h
Original file line number Diff line number Diff line change
Expand Up @@ -1087,7 +1087,7 @@ extern char *prefix_std_file(job *, dynamic_string *, int);
extern char *add_std_filename(job *, char *, int, dynamic_string *);
extern int set_jobexid(job *, pbs_attribute *, char *);
extern int site_check_user_map(job *, char *, char *, int);
int svr_dequejob(char *, int);
int svr_dequejob(job *, int);
extern int svr_enquejob(job *, int, int);
extern void svr_evaljobstate(job *, int *, int *, int);
extern void svr_mailowner(job *, int, int, char *);
Expand Down
2 changes: 2 additions & 0 deletions src/include/pbs_nodes.h
Original file line number Diff line number Diff line change
Expand Up @@ -332,6 +332,8 @@ struct pbsnode
struct AvlNode *node_boards; /* private tree of numa nodes */
char *numa_str; /* comma-delimited string of processor values */
char *gpu_str; /* comma-delimited string of the number of gpus for each nodeboard */

unsigned char nd_mom_reported_down;/* notes that the mom reported its own shutdown */

unsigned char nd_is_alps_reporter;
unsigned char nd_is_alps_login;
Expand Down
120 changes: 69 additions & 51 deletions src/lib/Libifl/tm.c
Original file line number Diff line number Diff line change
Expand Up @@ -170,8 +170,10 @@ static event_info *event_hash[EVENT_HASH];
/*
** Find an event number or return a NULL.
*/
static event_info *
find_event(tm_event_t x)
event_info *find_event(

tm_event_t x)

{
event_info *ep;

Expand All @@ -187,10 +189,11 @@ find_event(tm_event_t x)
/*
** Delete an event.
*/
static void
del_event(event_info *ep)
{
void del_event(
event_info *ep)

{
/* unlink event from hash list */
if (ep->e_prev)
ep->e_prev->e_next = ep->e_next;
Expand Down Expand Up @@ -245,8 +248,8 @@ del_event(event_info *ep)
/*
** Create a new event number.
*/
static tm_event_t
new_event(void)
tm_event_t new_event(void)

{
static tm_event_t next_event = TM_NULL_EVENT + 1;
event_info *ep;
Expand Down Expand Up @@ -275,8 +278,12 @@ new_event(void)
/*
** Link new event number into the above hash table.
*/
static void
add_event(tm_event_t event, tm_node_id node, int type, void *info)
void add_event(

tm_event_t event,
tm_node_id node,
int type,
void *info)
{
event_info *ep, **head;

Expand Down Expand Up @@ -322,8 +329,10 @@ static task_info *task_hash[TASK_HASH];
/*
** Find a task table entry for a given task number or return a NULL.
*/
static task_info *
find_task(tm_task_id x)
task_info *find_task(

tm_task_id x)

{
task_info *tp;

Expand All @@ -340,8 +349,12 @@ find_task(tm_task_id x)
** Create a new task entry and link it into the above hash
** table.
*/
static tm_task_id
new_task(char *jobid, tm_node_id node, tm_task_id task)
tm_task_id new_task(

char *jobid,
tm_node_id node,
tm_task_id task)

{
task_info *tp, **head;

Expand Down Expand Up @@ -559,8 +572,8 @@ static int localmom(void)

static int startcom(

int com,
tm_event_t event,
int com,
tm_event_t event,
struct tcp_chan **pchan)

{
Expand Down Expand Up @@ -943,6 +956,7 @@ int tm_obit(
tm_task_id tid, /* in */
int *obitval, /* out */
tm_event_t *event) /* out */

{
int rc = TM_SUCCESS;
task_info *tp;
Expand Down Expand Up @@ -1002,14 +1016,14 @@ struct taskhold
** is a valid node number, it returns the event that the list of
** tasks on <node> is available.
*/
int
tm_taskinfo(
tm_node_id node, /* in */
int tm_taskinfo(

tm_node_id node, /* in */
tm_task_id *tid_list, /* out */
int list_size, /* in */
int *ntasks, /* out */
tm_event_t *event /* out */
)
int list_size, /* in */
int *ntasks, /* out */
tm_event_t *event) /* out */

{
struct taskhold *thold;
struct tcp_chan *chan = NULL;
Expand Down Expand Up @@ -1053,11 +1067,11 @@ tm_taskinfo(
** Returns the job-relative node number that holds or held <tid>. In
** case of an error, it returns TM_ERROR_NODE.
*/
int
tm_atnode(
tm_task_id tid, /* in */
tm_node_id *node /* out */
)
int tm_atnode(

tm_task_id tid, /* in */
tm_node_id *node) /* out */

{
task_info *tp;

Expand Down Expand Up @@ -1085,12 +1099,13 @@ struct reschold
** <node> is available. It returns ERROR_EVENT otherwise.
*/
int tm_rescinfo(
tm_node_id node, /* in */
char *resource, /* out */
int len, /* in */

tm_node_id node, /* in */
char *resource, /* out */
int len, /* in */
tm_event_t *event) /* out */
{

{
struct reschold *rhold;
struct tcp_chan *chan = NULL;

Expand Down Expand Up @@ -1125,21 +1140,24 @@ int tm_rescinfo(
add_event(*event, node, TM_RESOURCES, (void *)rhold);

return TM_SUCCESS;
}
} /* END tm_rescinfo() */




/*
** Posts the first <nbytes> of a copy of *<info> within MOM on
** this node, and associated with this task. If <info> is
** non-NULL, it returns the event that the effort to post *<info>
** is complete. It returns ERROR_EVENT otherwise.
*/
int
tm_publish(
char *name, /* in */
void *info, /* in */
int len, /* in */
tm_event_t *event /* out */
)
int tm_publish(
char *name, /* in */
void *info, /* in */
int len, /* in */
tm_event_t *event) /* out */

{
int rc = TM_SUCCESS;
struct tcp_chan *chan = NULL;
Expand Down Expand Up @@ -1173,7 +1191,7 @@ tm_publish(
DIS_tcp_cleanup(chan);

return rc;
}
} /* tm_publish() */

struct infohold
{
Expand All @@ -1187,18 +1205,18 @@ struct infohold
** <tid> is a valid task, it returns the event that the
** string specifying the info posted by <tid> is available.
*/
int
tm_subscribe(
tm_task_id tid, /* in */
char *name, /* in */
void *info, /* out */
int len, /* in */
int *info_len, /* out */
tm_event_t *event /* out */
)
int tm_subscribe(
tm_task_id tid, /* in */
char *name, /* in */
void *info, /* out */
int len, /* in */
int *info_len,/* out */
tm_event_t *event) /* out */
{
int rc = TM_SUCCESS;
task_info *tp;
int rc = TM_SUCCESS;
task_info *tp;
struct tcp_chan *chan = NULL;

struct infohold *ihold;
Expand Down
3 changes: 3 additions & 0 deletions src/resmom/linux/mom_mach.c
Original file line number Diff line number Diff line change
Expand Up @@ -2690,6 +2690,9 @@ int mom_close_poll(void)
if (proc_array != NULL)
{
free(proc_array);
proc_array = NULL;
nproc = 0;
max_proc = TBL_INC;
}

return(PBSE_NONE);
Expand Down
Loading