My problem: A,B - semaphores.
Process is loop:
- waits for A >= 1, decrements A
- does some computation
- increments B.
- back to 1.
Goal: After process terminates i need decrements of A be equal to increments of B.
So i figure out i will add flag SEM_UNDO in 1. but it undos every DEcrement ever made to A by that process. How to revoke / undo SEM_UNDO from 1. when process reaches 4.?