Question 1

In the fragile queue library, can only the functions in that library change queue data?


Question 2

As the queue structure in the robust library is a "dangerous implement", how does the caller refer to a queue?


Question 3

In the robust library, what is the nonce used for?


Question 4

In the robust library, the token generation function qtktref always returns a token with the high order bit (sign bit) 0. Why?


Question 5

In the robust library's take_off_queue function, after an if/else statement in which the else is unconditional (that is, not an else if), there is code to report an inconsistency that should never be reached. Which of the following is the best explanation for why is it there?


Question 6

Which of the following is *not* a problem with the put_on_queue() routine in the fragile library?


Question 7

Which of the following is not a problem with the qmanage() routine in the fragile library?