Index: trunk/Ohana/src/opihi/pantasks/JobIDOps.c
===================================================================
--- trunk/Ohana/src/opihi/pantasks/JobIDOps.c	(revision 40165)
+++ trunk/Ohana/src/opihi/pantasks/JobIDOps.c	(revision 40424)
@@ -1,44 +1,26 @@
 # include "pantasks.h"
 
-# define MAX_N_JOBS 50000
-static char *JobIDList;
-static int   JobIDPtr;
+# define MAX_N_JOBS 0x80000000
+
+static IDtype JobIDMax = 0;
 
 void InitJobIDs () {
-
-  JobIDPtr = 0;
-  ALLOCATE (JobIDList, char, MAX_N_JOBS);
-  bzero (JobIDList, MAX_N_JOBS*sizeof(char));
+  JobIDMax = 0;
 }  
 
-void FreeJobIDs () {
-  free (JobIDList);
+void FreeJobIDs () { }
+
+/* return next unique ID, recycle every MAX_N_JOBS */
+IDtype NextJobID () {
+
+  JobIDMax ++;
+  if (JobIDMax >= MAX_N_JOBS) {
+    gprint (GP_ERR, "ERROR: too many jobs spawned: %d, aborting\n", JobIDMax);
+    abort();
+  }
+
+  return (JobIDMax);
 }
 
-/* return next unique ID, recycle every MAX_N_JOBS */
-int NextJobID () {
-
-  int Ntry;
-
-  JobIDPtr ++;
-  if (JobIDPtr >= MAX_N_JOBS) JobIDPtr = 0;
-
-  Ntry = 0;
-  while (JobIDList[JobIDPtr]) {
-    Ntry ++;
-    JobIDPtr ++;
-    if (JobIDPtr >= MAX_N_JOBS) JobIDPtr = 0;
-    if (Ntry == MAX_N_JOBS) return (-1);
-  }
-  JobIDList[JobIDPtr] = TRUE;
-  return (JobIDPtr);
-}
-
-int FreeJobID (int JobID) {
-
-  if (JobID < 0) return (FALSE);
-  if (JobID >= MAX_N_JOBS) return (FALSE);
-
-  JobIDList[JobID] = FALSE;
-  return (TRUE);
-}
+/* I am going to rework the jobID so that it just grows.  no need to ever free them
+   as an int, that allows 2^31 jobs (2e9 jobs) */
