Changeset 24 for branches/FREEBSD/src/kmk/job.h
- Timestamp:
- Nov 26, 2002, 10:24:54 PM (23 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/FREEBSD/src/kmk/job.h
r10 r24 1 1 /* 2 * Copyright (c) 1988, 1989, 1990, 1993 3 * The Regents of the University of California. All rights reserved. 2 * Copyright (c) 1988, 1989, 1990 The Regents of the University of California. 4 3 * Copyright (c) 1988, 1989 by Adam de Boor 5 4 * Copyright (c) 1989 by Berkeley Softworks … … 37 36 * SUCH DAMAGE. 38 37 * 39 * @(#)job.h 8.1 (Berkeley) 6/6/9340 * $FreeBSD: src/usr.bin/make/job.h,v 1. 20 2002/10/09 01:56:02 jmallettExp $38 * from: @(#)job.h 8.1 (Berkeley) 6/6/93 39 * $FreeBSD: src/usr.bin/make/job.h,v 1.11 2000/01/17 06:43:41 kris Exp $ 41 40 */ 42 41 … … 47 46 */ 48 47 #ifndef _JOB_H_ 49 #define _JOB_H_ 50 51 #define TMPPAT "/tmp/makeXXXXXXXXXX" 52 53 #ifndef USE_KQUEUE 48 #define _JOB_H_ 49 50 #define TMPPAT "/tmp/makeXXXXXXXXXX" 51 54 52 /* 55 53 * The SEL_ constants determine the maximum amount of time spent in select … … 57 55 * seconds and SEL_USEC is the number of micro-seconds 58 56 */ 59 #define SEL_SEC 0 60 #define SEL_USEC 100000 61 #endif /* !USE_KQUEUE */ 57 #define SEL_SEC 0 58 #define SEL_USEC 100000 62 59 63 60 … … 70 67 * 2) The graph node describing the target being made by this job 71 68 * 3) A LstNode for the first command to be saved after the job 72 * completes. This is N ULLif there was no "..." in the job's69 * completes. This is NILLNODE if there was no "..." in the job's 73 70 * commands. 74 71 * 4) An FILE* for writing out the commands. This is only … … 95 92 * traversal of the dependency graph. 96 93 */ 97 #define 94 #define JOB_BUFSIZE 1024 98 95 typedef struct Job { 99 96 int pid; /* The child's process ID */ … … 109 106 #define JOB_IGNERR 0x001 /* Ignore non-zero exits */ 110 107 #define JOB_SILENT 0x002 /* no output */ 111 #define 108 #define JOB_SPECIAL 0x004 /* Target is a special one. i.e. run it locally 112 109 * if we can't export it and maxLocal is 0 */ 113 #define 110 #define JOB_IGNDOTS 0x008 /* Ignore "..." lines when processing 114 111 * commands */ 115 #define 116 #define 117 #define 118 #define 119 #define 112 #define JOB_REMOTE 0x010 /* Job is running remotely */ 113 #define JOB_FIRST 0x020 /* Job is first job for the node */ 114 #define JOB_REMIGRATE 0x040 /* Job needs to be remigrated */ 115 #define JOB_RESTART 0x080 /* Job needs to be completely restarted */ 116 #define JOB_RESUME 0x100 /* Job needs to be resumed b/c it stopped, 120 117 * for some reason */ 121 #define 118 #define JOB_CONTINUING 0x200 /* We are in the process of resuming this job. 122 119 * Used to avoid infinite recursion between 123 120 * JobFinish and JobRestart */ … … 148 145 } Job; 149 146 150 #define 151 #define 152 #define 153 #define 154 #define 155 #define 147 #define outPipe output.o_pipe.op_outPipe 148 #define inPipe output.o_pipe.op_inPipe 149 #define outBuf output.o_pipe.op_outBuf 150 #define curPos output.o_pipe.op_curPos 151 #define outFile output.o_file.of_outFile 152 #define outFd output.o_file.of_outFd 156 153 157 154 … … 208 205 } Shell; 209 206 210 /* 211 * If REMOTE is defined then these things need exposed, otherwise they are 212 * static to job.c! 213 */ 214 #ifdef REMOTE 207 215 208 extern char *targFmt; /* Format string for banner that separates 216 209 * output from multiple jobs. Contains a … … 227 220 * quite get started */ 228 221 extern Boolean jobFull; /* Non-zero if no more jobs should/will start*/ 229 #endif 230 231 extern int maxJobs; /* Number of jobs that may run */ 232 233 234 void Job_Touch(GNode *, Boolean); 235 Boolean Job_CheckCommands(GNode *, void (*abortProc)(const char *, ...)); 236 void Job_CatchChildren(Boolean); 237 void Job_CatchOutput(void); 238 void Job_Make(GNode *); 239 void Job_Init(int, int); 240 Boolean Job_Full(void); 241 Boolean Job_Empty(void); 242 ReturnStatus Job_ParseShell(char *); 243 int Job_Finish(void); 244 void Job_Wait(void); 245 void Job_AbortAll(void); 246 void JobFlagForMigration(int); 222 223 224 void Job_Touch __P((GNode *, Boolean)); 225 Boolean Job_CheckCommands __P((GNode *, void (*abortProc )(char *, ...))); 226 void Job_CatchChildren __P((Boolean)); 227 void Job_CatchOutput __P((void)); 228 void Job_Make __P((GNode *)); 229 void Job_Init __P((int, int)); 230 Boolean Job_Full __P((void)); 231 Boolean Job_Empty __P((void)); 232 ReturnStatus Job_ParseShell __P((char *)); 233 int Job_End __P((void)); 234 void Job_Wait __P((void)); 235 void Job_AbortAll __P((void)); 236 void JobFlagForMigration __P((int)); 247 237 248 238 #endif /* _JOB_H_ */
Note:
See TracChangeset
for help on using the changeset viewer.