1
0
Files
Laboratori-OS/Lab08/ex1.c
2024-03-22 16:54:05 +01:00

29 lines
336 B
C

int ticketNumber;
int turnNumber;
int atomicIncrement (int *var) {
int tmp = *var;
*var = tmp + 1;
return (tmp);
}
void init() {
ticketNumber = 0;
turnNumber = 0;
}
void lock() {
int ticket = atomicIncrement(&ticketNumber);
while (ticket != turnNumber);
void unlock() {
atomicIncrement(turnNumber);
}
int main() {
}