Changeset 4573 for trunk/Ohana/src/opihi/pantasks
- Timestamp:
- Jul 16, 2005, 6:01:28 AM (21 years ago)
- Location:
- trunk/Ohana/src/opihi/pantasks
- Files:
-
- 1 added
- 7 edited
-
CheckSystem.c (modified) (1 diff)
-
ControllerOps.c (modified) (6 diffs)
-
Makefile (modified) (1 diff)
-
controller.c (modified) (1 diff)
-
controller_check.c (modified) (2 diffs)
-
controller_host.c (modified) (3 diffs)
-
controller_output.c (added)
-
controller_status.c (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/Ohana/src/opihi/pantasks/CheckSystem.c
r4450 r4573 5 5 CheckTasks (); 6 6 CheckJobs (); 7 CheckControllerOutput (); 7 8 8 9 } -
trunk/Ohana/src/opihi/pantasks/ControllerOps.c
r4552 r4573 5 5 static int status = FALSE; 6 6 static int stdin_cntl, stdout_cntl, stderr_cntl; 7 static IOBuffer stdout_buffer; 8 static IOBuffer stderr_buffer; 7 9 8 10 int CheckControllerStatus () { … … 108 110 line = NULL; 109 111 status = -1; 110 for (i = 0; (i < CONTROLLER_TIMEOUT) && (status == -1) && (line == NULL); i++) {112 for (i = 0; (i < CONTROLLER_TIMEOUT) && (status != 0) && (line == NULL); i++) { 111 113 status = ReadtoIOBuffer (buffer, stdout_cntl); 112 114 if ((buffer[0].Nbuffer - Nstart) >= Nbytes) { … … 261 263 p = NULL; 262 264 status = -1; 263 for (i = 0; (i < CONNECT_TIMEOUT) && (status == -1) && (p == NULL); i++) {265 for (i = 0; (i < CONNECT_TIMEOUT) && (status != 0) && (p == NULL); i++) { 264 266 status = ReadtoIOBuffer (&buffer, stdout_fd[0]); 265 267 p = memstr (buffer.buffer, "CONNECTED", buffer.Nbuffer); … … 274 276 stdout_cntl = stdout_fd[0]; 275 277 stderr_cntl = stderr_fd[0]; 278 279 InitIOBuffer (&stdout_buffer, 0x100); 280 InitIOBuffer (&stderr_buffer, 0x100); 276 281 277 282 fprintf (stderr, "Connected\n"); … … 319 324 line = NULL; 320 325 status = -1; 321 for (i = 0; (i < CONTROLLER_TIMEOUT) && (status == -1) && (line == NULL); i++) {326 for (i = 0; (i < CONTROLLER_TIMEOUT) && (status != 0) && (line == NULL); i++) { 322 327 status = ReadtoIOBuffer (buffer, stdout_cntl); 323 328 line = memstr (buffer[0].buffer, response, buffer[0].Nbuffer); … … 330 335 } 331 336 337 int CheckControllerOutput () { 338 339 int Nread; 340 341 /* read stdout buffer */ 342 Nread = ReadtoIOBuffer (&stdout_buffer, stdout_cntl); 343 switch (Nread) { 344 case -2: /* error in read (programming error? system level error?) */ 345 fprintf (stderr, "serious IO error\n"); 346 exit (2); 347 case -1: /* no data in pipe */ 348 break; 349 case 0: /* pipe is closed */ 350 /** change child state? **/ 351 break; 352 default: /* data in pipe */ 353 break; 354 } 355 356 /* read stderr buffer */ 357 Nread = ReadtoIOBuffer (&stderr_buffer, stderr_cntl); 358 switch (Nread) { 359 case -2: /* error in read (programming error? system level error?) */ 360 fprintf (stderr, "serious IO error\n"); 361 exit (2); 362 case -1: /* no data in pipe */ 363 break; 364 case 0: /* pipe is closed */ 365 /** change child state? **/ 366 break; 367 default: /* data in pipe */ 368 break; 369 } 370 return (TRUE); 371 } 372 373 int PrintControllerOutput () { 374 375 fprintf (stderr, "--- stdout ---\n"); 376 fwrite (stdout_buffer.buffer, 1, stdout_buffer.Nbuffer, stderr); 377 fprintf (stderr, "--- stdout ---\n"); 378 fwrite (stderr_buffer.buffer, 1, stderr_buffer.Nbuffer, stderr); 379 fprintf (stderr, "--- done ---\n"); 380 return (TRUE); 381 } 382 383 332 384 /* memstr returns a view, not an allocated string : don't free */ -
trunk/Ohana/src/opihi/pantasks/Makefile
r4552 r4573 48 48 $(SDIR)/controller_check.$(ARCH).o \ 49 49 $(SDIR)/controller_status.$(ARCH).o \ 50 $(SDIR)/controller_output.$(ARCH).o \ 50 51 $(SDIR)/task.$(ARCH).o \ 51 52 $(SDIR)/task_command.$(ARCH).o \ -
trunk/Ohana/src/opihi/pantasks/controller.c
r4552 r4573 4 4 int controller_status PROTO((int, char **)); 5 5 int controller_check PROTO((int, char **)); 6 int controller_output PROTO((int, char **)); 6 7 7 8 static Command controller_cmds[] = { 8 9 {"host", controller_host, "define host for controller"}, 10 {"check", controller_check, "check controller host/job"}, 9 11 {"status", controller_status, "check controller status"}, 10 {" check", controller_check, "check controller host/job"},12 {"output", controller_output, "print controller output"}, 11 13 }; 12 14 -
trunk/Ohana/src/opihi/pantasks/controller_check.c
r4552 r4573 8 8 9 9 if (argc != 3) goto usage; 10 if (strcasecmp (argv[ 2], "JOB") &&11 strcasecmp (argv[ 2], "HOST")) goto usage;10 if (strcasecmp (argv[1], "JOB") && 11 strcasecmp (argv[1], "HOST")) goto usage; 12 12 13 13 /* check if controller is running */ … … 18 18 } 19 19 20 sprintf (command, "check %s %s", argv[ 2], argv[3]);20 sprintf (command, "check %s %s", argv[1], argv[2]); 21 21 InitIOBuffer (&buffer, 0x100); 22 22 status = ControllerCommand (command, CONTROLLER_PROMPT, &buffer); -
trunk/Ohana/src/opihi/pantasks/controller_host.c
r4539 r4573 7 7 IOBuffer buffer; 8 8 9 if (argc != 3) {9 if (argc != 2) { 10 10 fprintf (stderr, "USAGE: controller host (hostname)\n"); 11 11 return (FALSE); … … 15 15 StartController (); 16 16 17 sprintf (command, "host %s", argv[ 2]);17 sprintf (command, "host %s", argv[1]); 18 18 InitIOBuffer (&buffer, 0x100); 19 19 status = ControllerCommand (command, CONTROLLER_PROMPT, &buffer); … … 32 32 case CONTROLLER_GOOD: 33 33 fprintf (stderr, "controller command sent\n"); 34 fwrite (buffer.buffer, 1, buffer.Nbuffer, stderr); 35 fprintf (stderr, "\n Nbytes received: %d\n", buffer.Nbuffer); 34 36 return (TRUE); 35 37 -
trunk/Ohana/src/opihi/pantasks/controller_status.c
r4552 r4573 7 7 IOBuffer buffer; 8 8 9 if (argc != 3) {9 if (argc != 1) { 10 10 fprintf (stderr, "USAGE: controller status\n"); 11 11 return (FALSE); … … 37 37 fprintf (stderr, "controller command sent\n"); 38 38 fwrite (buffer.buffer, 1, buffer.Nbuffer, stderr); 39 fprintf (stderr, "\n Nbytes received: %d\n", buffer.Nbuffer); 39 40 return (TRUE); 40 41
Note:
See TracChangeset
for help on using the changeset viewer.
