#!/bin/sh
# RemoteInstantAppScript:makeSerialTemplate
# SubmissionScripts/Distributor/Instant/APP/serial
#
trap cleanup HUP INT QUIT ABRT TERM

cleanup()
{
#  kill -s TERM $(ps --no-headers --format pid --ppid `jobs -p`)
   kill -s TERM `jobs -p`
   if [ ! -s @@{TS_FINISH} ] ; then
      date +"%s" > @@{TS_FINISH}
   fi
}

exitStatus=0

@@{USEENVIRONMENT}
@@{ENVIRONMENT}

# Change to directory where job was submitted.
cd @@{WORKINGDIRECTORY}
PATH=@@{WORKINGDIRECTORY}:${PATH}
export PATH

TIMEPATH=
for timePath in ${HOME}/bin/time /usr/bin/time /usr/local/bin/time ; do
   if [ -x ${timePath} ] ; then
      TIMEPATH=${timePath}
      break
   fi
done

date +"%s" > @@{TS_TRANSFERRED}
date +"%s" > @@{TS_START}

@@{PREMANAGERCOMMANDS}
${TIMEPATH} --format "Command exited with status %x\nreal %e\nuser %U\nsys %S" -o @@{TIME_RESULTS} \
   @@{EXECUTABLE} @@{ARGUMENTS} < @@{STDIN} &
wait %1
exitStatus=$?
@@{POSTMANAGERCOMMANDS}

date +"%s" > @@{TS_FINISH}

exit ${exitStatus}
