Use NAMD_die when exiting due to errors 32/5032/4
authorJérôme Hénin <heninj@gmail.com>
Thu, 21 Mar 2019 14:58:37 +0000 (15:58 +0100)
committerJim Phillips <jim@ks.uiuc.edu>
Wed, 27 Mar 2019 20:02:26 +0000 (15:02 -0500)
Fixes problem with job chains going on after crashes, because the scheduler is
unaware of the error condition.

This simple version should work with any version of Charm++. I am not sure what
the current logic tries to achieve, as BackEnd::exit() is called if a single partition
is present.

A more sophisticated version might take advantage of this recent change:
https://charm.cs.illinois.edu/gerrit/c/charm/+/4219
which would allow BackEnd::exit() to accept an exit code and pass it along
to charm++.

Change-Id: I75c6361947ee383b250d6d6e3faf3bd5769c5096

src/Node.C

index 0fb5fec..d4f70ac 100644 (file)
@@ -1362,9 +1362,7 @@ void Node::enableEarlyExit(void) {
 }
 
 void Node::earlyExit(void) {
-  iout << iERROR << "Exiting prematurely; see error messages above.\n" << endi;
-  if ( CmiNumPartitions() > 1 ) NAMD_quit("Exiting prematurely; see error messages above.");
-  BackEnd::exit();
+  NAMD_die("Exiting prematurely; see error messages above.");
 }