IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Ignore:
Timestamp:
Aug 11, 2006, 4:51:50 PM (20 years ago)
Author:
eugene
Message:

working on threaded version

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/Ohana/src/opihi/pcontrol/stdout.c

    r7917 r8296  
    33int stdout_pc (int argc, char **argv) {
    44
    5   int JobID;
     5  int JobID, StackID;
    66  Job *job;
    77  IOBuffer *buffer;
     
    1515  /* find Job of interest (must be EXIT or CRASH) */
    1616  JobID = atoi (argv[1]);
    17   job = FindJobPtr (JobID, PCONTROL_JOB_EXIT);
    18   if (job == NULL) {
    19     job = FindJobPtr (JobID, PCONTROL_JOB_CRASH);
    20     if (job == NULL) goto missing_stdout;
    21   }   
    2217
     18  StackID = PCONTROL_JOB_EXIT;
     19  job = PullJobFromStackByID (StackID, JobID);
     20  if (job != NULL) goto found_stdout;
     21
     22  StackID = PCONTROL_JOB_CRASH;
     23  job = PullJobFromStackByID (StackID, JobID);
     24  if (job != NULL) goto found_stdout;
     25
     26  gprint (GP_ERR, "job not found in EXIT or CRASH\n");
     27  gprint (GP_LOG, "STATUS %d\n", -2);
     28  return (FALSE);
     29
     30found_stdout:
    2331  buffer = &job[0].stdout;
    2432  fwrite (buffer[0].buffer, 1, buffer[0].Nbuffer, stdout);
    2533  gprint (GP_LOG, "STATUS %d\n", 0);
     34  PutJob (job, StackID, STACK_BOTTOM);
    2635  return (TRUE);
    27 
    28 missing_stdout:
    29   gprint (GP_ERR, "job not found in EXIT or CRASH\n");
    30   gprint (GP_LOG, "STATUS %d\n", -2);
    31   return (FALSE);
    3236}
    3337
    3438int stderr_pc (int argc, char **argv) {
    3539
    36   int JobID;
     40  int JobID, StackID;
    3741  Job *job;
    3842  IOBuffer *buffer;
     
    4650  /* find Job of interest (must be EXIT or CRASH) */
    4751  JobID = atoi (argv[1]);
    48   job = FindJobPtr (JobID, PCONTROL_JOB_EXIT);
    49   if (job == NULL) {
    50     job = FindJobPtr (JobID, PCONTROL_JOB_CRASH);
    51     if (job == NULL) goto missing_stderr;
    52   }   
    5352
     53  StackID = PCONTROL_JOB_EXIT;
     54  job = PullJobFromStackByID (StackID, JobID);
     55  if (job != NULL) goto found_stderr;
     56
     57  StackID = PCONTROL_JOB_CRASH;
     58  job = PullJobFromStackByID (StackID, JobID);
     59  if (job != NULL) goto found_stderr;
     60
     61  gprint (GP_ERR, "job not found in EXIT or CRASH\n");
     62  gprint (GP_LOG, "STATUS %d\n", -2);
     63  return (FALSE);
     64
     65found_stderr:
    5466  buffer = &job[0].stderr;
    5567  fwrite (buffer[0].buffer, 1, buffer[0].Nbuffer, stdout);
    5668  gprint (GP_LOG, "STATUS %d\n", 0);
     69  PutJob (job, StackID, STACK_BOTTOM);
    5770  return (TRUE);
    58 
    59 missing_stderr:
    60   gprint (GP_ERR, "job not found in EXIT or CRASH\n");
    61   gprint (GP_LOG, "STATUS %d\n", -2);
    62   return (FALSE);
    6371}
Note: See TracChangeset for help on using the changeset viewer.