Changeset 15791
- Timestamp:
- Dec 12, 2007, 9:52:11 AM (18 years ago)
- Location:
- trunk/Ohana/src/opihi
- Files:
-
- 9 edited
-
cmd.basic/output.c (modified) (3 diffs)
-
include/shell.h (modified) (1 diff)
-
lib.shell/gprint.c (modified) (2 diffs)
-
pantasks/ListenClients.c (modified) (2 diffs)
-
pantasks/controller_threads.c (modified) (1 diff)
-
pantasks/input_threads.c (modified) (1 diff)
-
pantasks/job_threads.c (modified) (1 diff)
-
pantasks/pantasks_server.c.in (modified) (1 diff)
-
pantasks/task_threads.c (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
trunk/Ohana/src/opihi/cmd.basic/output.c
r9039 r15791 31 31 if ((N = get_argument (argc, argv, "-dump"))) { 32 32 buffer = gprintGetBuffer (dest); 33 if (buffer == NULL) return (FALSE); 33 34 34 35 /* save the current buffer contents */ … … 39 40 /* set the output target to the specified name */ 40 41 remove_argument (N, &argc, argv); 41 gprintSetFile (dest, argv[N]);42 gprintSetFileAllThreads (dest, argv[N]); 42 43 remove_argument (N, &argc, argv); 43 44 44 45 /* send the output to the appropriate destination */ 45 46 gwrite (output, 1, Noutput, dest); 47 free (output); 46 48 return (TRUE); 47 49 } … … 52 54 } 53 55 54 gprintSetFile (dest, argv[1]);56 gprintSetFileAllThreads (dest, argv[1]); 55 57 return (TRUE); 56 58 } -
trunk/Ohana/src/opihi/include/shell.h
r15008 r15791 152 152 void gprintSetBuffer PROTO((gpDest dest)); 153 153 IOBuffer *gprintGetBuffer PROTO((gpDest dest)); 154 void gprintSetFile PROTO((gpDest dest, char *filename)); 154 void gprintSetFileAllThreads PROTO((gpDest dest, char *filename)); 155 void gprintSetFileThisThread PROTO((gpDest dest, char *filename)); 156 void gprintSetFile PROTO((gpStream *stream, gpDest dest, char *filename)); 155 157 FILE *gprintGetFile PROTO((gpDest dest)); 156 158 char *gprintGetName PROTO((gpDest dest)); -
trunk/Ohana/src/opihi/lib.shell/gprint.c
r15030 r15791 126 126 } 127 127 128 void gprintSetFile (gpDest dest, char *filename) { 129 130 gpStream *stream; 131 stream = gprintGetStream (dest); 128 void gprintSetFileAllThreads (gpDest dest, char *filename) { 129 130 int i; 131 132 for (i = 0; i < Nstreams; i++) { 133 if (streams[i].dest != dest) continue; 134 gprintSetFile (&streams[i], dest, filename); 135 } 136 return; 137 } 138 139 void gprintSetFileThisThread (gpDest dest, char *filename) { 140 141 gpStream *stream; 142 stream = gprintGetStream (dest); 143 144 gprintSetFile (stream, dest, filename); 145 return; 146 } 147 148 void gprintSetFile (gpStream *stream, gpDest dest, char *filename) { 132 149 133 150 /* if we have an open buffer, free it and null it */ … … 146 163 } 147 164 skip_close: 148 149 free (stream[0].name); 165 166 // if NULL, reuse exising stream name 167 if (filename != NULL) { 168 free (stream[0].name); 169 stream[0].name = strcreate (filename); 170 } 150 171 151 172 /* we allow the user to set stdout to ERR and stderr to LOG if they want */ 152 if (!strcmp ( filename, "stdout")) {173 if (!strcmp (stream[0].name, "stdout")) { 153 174 stream[0].file = stdout; 154 stream[0].name = strcreate (filename);155 175 goto skip_open; 156 176 } 157 if (!strcmp ( filename, "stderr")) {177 if (!strcmp (stream[0].name, "stderr")) { 158 178 stream[0].file = stderr; 159 stream[0].name = strcreate (filename);160 179 goto skip_open; 161 180 } 162 181 163 182 /* open the file */ 164 stream[0].file = fopen ( filename, "a");183 stream[0].file = fopen (stream[0].name, "a"); 165 184 if (stream[0].file == NULL) { 166 fprintf (stderr, "cannot open file %s\n", filename); 185 fprintf (stderr, "cannot open file %s\n", stream[0].name); 186 free (stream[0].name); 167 187 stream[0].file = (dest == GP_LOG) ? stdout : stderr; 168 188 stream[0].name = (dest == GP_LOG) ? strcreate ("stdout") : strcreate("stderr"); 169 } else {170 stream[0].name = strcreate (filename);171 189 } 172 190 173 191 skip_open: 174 192 stream[0].mode = GP_FILE; 193 return; 175 194 } 176 195 -
trunk/Ohana/src/opihi/pantasks/ListenClients.c
r13544 r15791 72 72 // define server output log files 73 73 if (VarConfig ("PANTASKS_SERVER_STDOUT", "%s", log_stdout) != NULL) { 74 gprintSetFile (GP_LOG, log_stdout);74 gprintSetFileThisThread (GP_LOG, log_stdout); 75 75 } else { 76 76 strcpy (log_stdout, "stdout"); 77 77 } 78 78 if (VarConfig ("PANTASKS_SERVER_STDERR", "%s", log_stderr) != NULL) { 79 gprintSetFile(GP_ERR, log_stderr);79 gprintSetFileThisThread (GP_ERR, log_stderr); 80 80 } else { 81 81 strcpy (log_stderr, "stderr"); … … 151 151 // return the stderr messages first 152 152 outbuffer = gprintGetBuffer (GP_ERR); 153 SendMessageFixed (clients[i], outbuffer[0].Nbuffer, outbuffer[0].buffer); 153 if (outbuffer) { 154 SendMessageFixed (clients[i], outbuffer[0].Nbuffer, outbuffer[0].buffer); 155 } else { 156 SendMessageFixed (clients[i], 0, ""); 157 } 154 158 155 159 // return the stdout messages first 156 160 outbuffer = gprintGetBuffer (GP_LOG); 157 SendMessageFixed (clients[i], outbuffer[0].Nbuffer, outbuffer[0].buffer); 161 if (outbuffer) { 162 SendMessageFixed (clients[i], outbuffer[0].Nbuffer, outbuffer[0].buffer); 163 } else { 164 SendMessageFixed (clients[i], 0, ""); 165 } 158 166 159 /* clear and reset the output buffers */160 gprintSetFile (GP_LOG, log_stdout);161 gprintSetFile (GP_ERR, log_stderr);167 /* clear and reset the output buffers to their last output file names */ 168 gprintSetFileAllThreads (GP_LOG, NULL); 169 gprintSetFileAllThreads (GP_ERR, NULL); 162 170 } 163 171 free (line); -
trunk/Ohana/src/opihi/pantasks/controller_threads.c
r13544 r15791 19 19 // define server output log files 20 20 if (VarConfig ("PANTASKS_SERVER_STDOUT", "%s", log_stdout) != NULL) { 21 gprintSetFile (GP_LOG, log_stdout);21 gprintSetFileThisThread (GP_LOG, log_stdout); 22 22 } 23 23 if (VarConfig ("PANTASKS_SERVER_STDERR", "%s", log_stderr) != NULL) { 24 gprintSetFile (GP_ERR, log_stderr);24 gprintSetFileThisThread (GP_ERR, log_stderr); 25 25 } 26 26 -
trunk/Ohana/src/opihi/pantasks/input_threads.c
r15782 r15791 20 20 // define server output log files 21 21 if (VarConfig ("PANTASKS_SERVER_STDOUT", "%s", log_stdout) != NULL) { 22 gprintSetFile (GP_LOG, log_stdout);22 gprintSetFileThisThread (GP_LOG, log_stdout); 23 23 } 24 24 if (VarConfig ("PANTASKS_SERVER_STDERR", "%s", log_stderr) != NULL) { 25 gprintSetFile (GP_ERR, log_stderr);25 gprintSetFileThisThread (GP_ERR, log_stderr); 26 26 } 27 27 -
trunk/Ohana/src/opihi/pantasks/job_threads.c
r13544 r15791 21 21 // define server output log files 22 22 if (VarConfig ("PANTASKS_SERVER_STDOUT", "%s", log_stdout) != NULL) { 23 gprintSetFile (GP_LOG, log_stdout);23 gprintSetFileThisThread (GP_LOG, log_stdout); 24 24 } 25 25 if (VarConfig ("PANTASKS_SERVER_STDERR", "%s", log_stderr) != NULL) { 26 gprintSetFile (GP_ERR, log_stderr);26 gprintSetFileThisThread (GP_ERR, log_stderr); 27 27 } 28 28 -
trunk/Ohana/src/opihi/pantasks/pantasks_server.c.in
r13549 r15791 29 29 // define server output log files 30 30 if (VarConfig ("PANTASKS_SERVER_STDOUT", "%s", log_stdout) != NULL) { 31 gprintSetFile (GP_LOG, log_stdout);31 gprintSetFileThisThread (GP_LOG, log_stdout); 32 32 } 33 33 if (VarConfig ("PANTASKS_SERVER_STDERR", "%s", log_stderr) != NULL) { 34 gprintSetFile (GP_ERR, log_stderr);34 gprintSetFileThisThread (GP_ERR, log_stderr); 35 35 } 36 36 -
trunk/Ohana/src/opihi/pantasks/task_threads.c
r13544 r15791 21 21 // define server output log files 22 22 if (VarConfig ("PANTASKS_SERVER_STDOUT", "%s", log_stdout) != NULL) { 23 gprintSetFile (GP_LOG, log_stdout);23 gprintSetFileThisThread (GP_LOG, log_stdout); 24 24 } 25 25 if (VarConfig ("PANTASKS_SERVER_STDERR", "%s", log_stderr) != NULL) { 26 gprintSetFile (GP_ERR, log_stderr);26 gprintSetFileThisThread (GP_ERR, log_stderr); 27 27 } 28 28
Note:
See TracChangeset
for help on using the changeset viewer.
