Lines Matching refs:work

57 struct work
68 struct work *w_next; /* next in queue */
71 typedef struct work WORK;
74 static int NumWorkGroups; /* number of work groups */
100 ** Each work group contains one or more queue groups. This is done
103 ** The number of queue groups that can be run on the next work run
109 int wg_numqgrp; /* number of queue groups in work grp */
121 static WORKGRP volatile WorkGrp[MAXWORKGROUPS + 1]; /* work groups */
605 ** Output future work requests.
1170 ** MARK_WORK_GROUP_RESTART -- mark a work group as needing a restart
1175 ** wgrp -- the work group id to restart.
1202 ** RESTART_MARKED_WORK_GROUPS -- restart work groups marked as needing restart
1246 ** RESTART_WORK_GROUP -- restart a specific work group
1249 ** If the requested work group has been restarted too many times log
1253 ** wgrp -- the work group id to restart
1259 ** starts another process doing the work of wgrp
1287 ** SCHEDULE_QUEUE_RUNS -- schedule the next queue run for a work group.
1291 ** wgrp -- the work group id to schedule.
1292 ** didit -- the queue run was performed for this work group.
1318 ** code that "walks" through a work queue group.
1526 ** i.e., this work group might "starve" then.
1664 ** RUNNER_WORK -- have a queue runner do its work
1666 ** Have a queue runner do its work a list of entries.
1667 ** When work isn't directly being done then this process can take a signal
1669 ** When work is directly being done, it's not to be interrupted
1670 ** immediately: the work should be allowed to finish at a clean point
1704 ** middle of direct work. If a signal does come, the test for
1726 /* do no more work */
1737 w = WorkQ; /* assign current work item */
1740 ** Set the head of the WorkQ to the next work item.
1746 ** is a domain, so we work on every 'skip'th (N-th) domain.
1892 ** RUN_WORK_GROUP -- run the jobs in a queue group from a work group.
1898 ** wgrp -- work group to process.
1930 ** If no work will ever be selected, don't even bother reading
1968 ** See if we want to go off and do other useful work.
2080 ** Here is where we choose the queue group from the work group.
2097 ** Find the next queue group within the work group that
2145 ** Then, process the work in that order.
2169 /* order the existing work requests */
2184 ** queue group within the work group. This saves us forking
2185 ** a new runner-child for each work item.
2240 /* No additional work, no additional runners */
2302 ** work group to process.
2321 ** When current process will not fork children to do the work,
2322 ** it will do the work itself. The 'skip' will be 1 since
2323 ** there are no child runners to divide the work across.
2333 /* Are there still more queues in the work group to process? */
2342 /* No more queues in work group to process. Now check persistent. */
2450 ** that any work done here that sets errno doesn't return a
2483 ** GATHERQ -- gather messages from the message queue(s) the work queue.
2502 ** prepares available work into WorkList
2513 static WORK *WorkList = NULL; /* list of unsort work */
2515 static int WorkListCount = 0; /* # of work items in WorkList */
2605 ** Read the work directory.
2660 /* grow work list if necessary */
2707 /* avoid work if possible */
2966 ** SORTQ -- sort the work list
2981 ** WorkQ gets released and filled with new work. WorkList
3022 ** Sort the work directory for the first time,
3058 ** Sort the work directory for the second time,
3128 ** Convert the work list into canonical form.
3180 ** GROW_WLIST -- make the work list larger
3266 ** WORKCMPF1 -- first compare function for ordering work based on host name.
3305 ** WORKCMPF2 -- second compare function for ordering work based on host name.
3439 ** WORKCMPF7 -- compare function for ordering work based on shuffled host name.
3566 ** DOWORK -- do a work request.
3583 ** The work request is satisfied if possible.
3602 ** Fork for work.
3756 ** DOWORKLIST -- process a list of envelopes as work requests
3759 ** envelope and its siblings, treating each envelope as a work request.
3773 ** The work request is satisfied if possible.
3789 ** Fork for work.
4931 ** Print the work list that we have read.
7046 ** Currently it is not a fatal error if this doesn't work.
7390 ** CLEANUP_SHM -- do some cleanup work for shared memory etc
7419 ** CLEANUP_QUEUES -- do some cleanup work for queues
7471 ** J -- the maximum # of jobs in work list
7591 case 'J': /* maximum # of jobs in work list */
7798 ** MAKEWORKGROUPS -- balance queue groups into work groups per MaxQueueChildren
7800 ** Take the now defined queue groups and assign them to work groups.
7803 ** result in more than one queue group per work group. In such a case
7804 ** the number of running queue groups in that work group will have no
7805 ** more than the work group maximum number of runners (a "fair" portion
7806 ** of MaxQueueRunners). All queue groups within a work group will get a
7888 ** We now know the number of work groups to pack the queue groups
7892 ** into work groups first. Then the smaller ones are fitted in
7927 syserr("!cannot allocate memory for work queues, need %d bytes",
8717 ** do that work and return the open