Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

Consider the following multi - threaded pseudocode to send messages to and receive messages from a buffer with size 3 ( i . e .

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->sem1);
sem_wait(&channel->sem3);
buffer_add(channel->buffer, data);
sem_post(&channel->sem1);
sem_post(&channel->sem2);
}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)
image text in transcribed

Step by Step Solution

There are 3 Steps involved in it

Step: 1

blur-text-image

Get Instant Access to Expert-Tailored Solutions

See step-by-step solutions with expert insights and AI powered tools for academic success

Step: 2

blur-text-image

Step: 3

blur-text-image

Ace Your Homework with AI

Get the answers you need in no time with our AI-driven, step-by-step assistance

Get Started

Recommended Textbook for

Object Oriented Databases Prentice Hall International Series In Computer Science

Authors: John G. Hughes

1st Edition

0136298745, 978-0136298748

More Books

Students also viewed these Databases questions

Question

4. Who helps the team make decisions?

Answered: 1 week ago