Lines Matching refs:undo

37  * - undo adjustments at process exit are limited to 0..SEMVMX.
102 * - at task exit when performing undo adjustments (see exit_sem).
121 struct list_head list_id; /* undo requests on this array */
133 struct sem_undo *undo; /* undo structure */
143 /* Each task has a list of undo requests. They are executed automatically
657 un = q->undo;
675 int undo = un->semadj[sop->sem_num] - sem_op;
676 /* Exceeding the undo range is an error. */
677 if (undo < (-SEMAEM - 1) || undo > SEMAEM)
679 un->semadj[sop->sem_num] = undo;
696 goto undo;
706 undo:
729 un = q->undo;
737 * to shared memory and having to undo such changes in order to block
758 int undo = un->semadj[sop->sem_num] - sem_op;
760 /* Exceeding the undo range is an error. */
761 if (undo < (-SEMAEM - 1) || undo > SEMAEM)
771 int undo = un->semadj[sop->sem_num] - sem_op;
773 un->semadj[sop->sem_num] = undo;
1151 /* Free the existing undo structures for this semaphore set. */
1733 compat_uptr_t undo;
1840 * here. We guarantee there is only one thread using this undo list,
1896 * find_alloc_undo - lookup (and if not present create) undo array
1900 * The function looks up (and if not present creates) the undo structure.
1901 * The size of the undo structure depends on the size of the semaphore
1924 /* no undo structure around - allocate one. */
1940 /* step 2: allocate new undo structure */
1960 * step 4: check for races: did someone else allocate the undo struct?
1968 /* step 5: initialize & link new undo structure */
2086 * allocated an undo structure, it was invalidated by an RMID
2096 queue.undo = un;
2324 * add semadj values to semaphores, free undo structures.
2325 * undo structures are not freed when semaphore arrays are destroyed
2420 * - Some unices ignore the undo entirely