Lines Matching defs:que

238  * check if usr is permitted on que
243 permit(register Queue_t* que, User_t* usr)
247 if (!(own = (Owner_t*)dtmatch(que->owner, &usr)))
249 if (que->allow > 0)
255 dtinsert(que->owner, own);
282 register Queue_t* que;
294 if (!(que = (Queue_t*)dtmatch(state->table.queue.handle, s)))
296 if (!(que = newof(0, Queue_t, 1, strlen(s) + 1)))
298 strcpy(que->name, s);
299 que->nproc = NPROC;
300 que->peruser = PERUSER;
301 que->load = LOAD;
302 que->nice = NICE;
303 que->wait = WAIT;
304 que = (Queue_t*)dtinsert(state->table.queue.handle, que);
307 state->queue = que;
308 if (!que->owner && !(que->owner = dtopen(&state->table.owner.discipline, Dtset)))
309 error(ERROR_SYSTEM|3, "out of space [queue %s owner hash]", que->name);
310 que->allow = -1;
311 que->specific = 0;
324 que->home = n;
327 que->nproc = n;
330 que->load = n;
333 que->nice = n;
336 que->peruser = n;
339 que->wait = n;
343 que->allow = *(t - 2) == '+';
344 que->specific = 1;
345 dtwalk(que->owner, allow, que);
360 if (!(own = (Owner_t*)dtmatch(que->owner, &usr)))
365 dtinsert(que->owner, own);
367 own->allow = que->allow;
385 register Queue_t* que;
403 if (que = state->queue)
407 if (!state->queue && !(state->queue = que))
418 for (que = (Queue_t*)dtfirst(state->table.queue.handle); que && que->specific; que = (Queue_t*)dtnext(state->table.queue.handle, que));
419 if (que && !stat(file = AT_CRON_DIR, &st) && S_ISDIR(st.st_mode))
441 for (que = (Queue_t*)dtfirst(state->table.queue.handle); que; que = (Queue_t*)dtnext(state->table.queue.handle, que))
442 if (!que->specific)
444 que->allow = permit;
445 dtwalk(que->owner, allow, que);
458 for (que = (Queue_t*)dtfirst(state->table.queue.handle); que; que = (Queue_t*)dtnext(state->table.queue.handle, que))
459 if (!que->specific)
461 if (!(own = (Owner_t*)dtmatch(que->owner, &usr)))
466 dtinsert(que->owner, own);
468 own->allow = que->allow;
503 error(0, "%s %s que %s at %s \"%s\"", job->name, fmtuid(job->owner->user->uid), job->queue->name, fmttime(AT_TIME_FORMAT, job->start), job->label);
550 error(0, "%s %s que %s drop \"%s\"", job->name, fmtuid(job->owner->user->uid), job->queue->name, job->label);
611 register Queue_t* que;
624 que = job->queue;
625 if ((que->nproc <= 0 || que->running < que->nproc) &&
626 (que->load <= 0 || st.load < que->load) &&
628 (que->peruser <= 0 || job->owner->running < que->peruser) &&
638 que->running++;
639 que->total++;
646 else if (x > (job->start + que->wait))
647 x = job->start + que->wait;
649 else if (x > (job->start + que->wait))
650 x = job->start + que->wait;
738 register Queue_t* que = (Queue_t*)object;
745 sfprintf(state->tmp, " %c", que->allow ? '+' : '-');
746 visit.queue = que;
748 dtwalk(que->owner, listowner, &visit);
753 error(ERROR_OUTPUT|0, con->fd, "%-3s %5lu %3d %3d %3d %3d %3d %2d.%02d %5.5s%s", que->name, que->total, que->pending, que->running, que->nproc, que->peruser, que->nice, que->load / 100, que->load % 100, fmtelapsed(que->wait, 1), s);
783 register Queue_t* que;
823 if (!(que = (Queue_t*)dtmatch(state->table.queue.handle, t)))
829 if (!permit(que, usr))
833 que = 0;
839 if (!que && !permit(que = state->queue, usr))
855 if (que)
856 listqueue(NiL, que, &visit);
861 if (!que)
862 que = state->queue;
863 if (!(own = permit(que, usr)))
899 job->queue = que;
1026 if (que->home)
1064 if ((!que || que == job->queue) && (s && strmatch(job->name, s) || !s && (admin || con->id.uid == job->id.uid)) && job->owner->allow)
1140 error(ERROR_OUTPUT|2, con->fd, "%s: queue %s access denied", usr->name, que->name);