logo

Crowdly

The following C code was our first attempt to make a lock using a flag to indica...

✅ The verified answer to this question is available below. Our community-reviewed solutions help you understand the material better.

The following C code was our first attempt to make a lock using a flag to indicate if the lock was acquired.

typedef struct __lock_t { int flag; } lock_t;

void init(lock_t *mutex) {

mutex->flag = 0;

}

void lock(lock_t *mutex) {

while (mutex->flag == 1) // TEST the flag

; // spin-wait (do nothing)

mutex->flag = 1; // now SET it !

}

void unlock(lock_t *mutex) {

mutex->flag = 0;

}

How will this code perform in terms of correctness and efficiency?

More questions like this

Want instant access to all verified answers on moodle31.upei.ca?

Get Unlimited Answers To Exam Questions - Install Crowdly Extension Now!