1. 18
  1.  

  2. 2

    Their discussion of why kernels need multiple mutable references and how this is interacts with linear types — how it requires a work around — was a highlight.

    The unsafe part of TakeCell is curious: https://github.com/helena-project/tock/blob/master/kernel/src/common/take_cell.rs#L52

    It seems like double access to a TakeCell would result in one thread/holder “doing nothing” (and having to retry?).

    1. 1

      It seems like double access to a TakeCell would result in one thread/holder “doing nothing” (and having to retry?).

      Yes, the map call will return an error so failure will be known. It is not explicitly stated but the authors clarified it on reddit.