Question: Consider the following multi - threaded C pseudocode:lock ( &mutex ) ;void * msg = popQueue ( &queue ) ;return msg; Consider the following multi

Consider the following multi-threaded C pseudocode:lock(&mutex);void* msg = popQueue(&queue);return msg; Consider the following multi-threaded pseudocode to send messages to and receive
messages from a buffer with size 3(i.e., there are 3 slots for messages in the buffer). Note
that the buffer functions are not thread-safe.sem_wait(&channel->sem1);data = buffer_remove(channel->buffer);sem_post(&channel->sem1);}
void send_msg(channel_t* channel, void* data){sem_wait(&channel->sem3);sem_post(&channel->sem1);}How can you fix the bug(s) in this code? Select all of the changes that must be applied to
make this code work.
Swap lines 2&3
Swap lines 5&6
Swap lines 11&12
Swap lines 14&15
None of these (i.e., no bugs)
}
void addMsg(void* msg){pushQueue(&queue, msg);sem_post(&sem);
}How can you fix the bug(s) in this code? Select all of the changes that must be applied to
make this code work.
Swap lines 2&3
Swap lines 3&4
Swap lines 5&6
Swap lines 11 & 12
None of these (i.e., no bugs)
 Consider the following multi-threaded C pseudocode:lock(&mutex);void* msg = popQueue(&queue);return msg; Consider

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Databases Questions!