Lines Matching defs: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
654 un = q->undo;
672 int undo = un->semadj[sop->sem_num] - sem_op;
673 /* Exceeding the undo range is an error. */
674 if (undo < (-SEMAEM - 1) || undo > SEMAEM)
676 un->semadj[sop->sem_num] = undo;
693 goto undo;
703 undo:
726 un = q->undo;
734 * to shared memory and having to undo such changes in order to block
755 int undo = un->semadj[sop->sem_num] - sem_op;
757 /* Exceeding the undo range is an error. */
758 if (undo < (-SEMAEM - 1) || undo > SEMAEM)
769 int undo = un->semadj[sop->sem_num] - sem_op;
771 un->semadj[sop->sem_num] = undo;
1149 /* Free the existing undo structures for this semaphore set. */
1732 compat_uptr_t undo;
1839 * here. We guarantee there is only one thread using this undo list,
1895 * find_alloc_undo - lookup (and if not present create) undo array
1899 * The function looks up (and if not present creates) the undo structure.
1900 * The size of the undo structure depends on the size of the semaphore
1923 /* no undo structure around - allocate one. */
1939 /* step 2: allocate new undo structure */
1959 * step 4: check for races: did someone else allocate the undo struct?
1966 /* step 5: initialize & link new undo structure */
2097 * allocated an undo structure, it was invalidated by an RMID
2107 queue.undo = un;
2305 * add semadj values to semaphores, free undo structures.
2306 * undo structures are not freed when semaphore arrays are destroyed
2401 * - Some unices ignore the undo entirely