Skip to content
Snippets Groups Projects
  1. Nov 05, 2020
  2. Nov 04, 2020
    • Florian Schmaus's avatar
      Remove duplicate block()/unblock() code · d1fa1055
      Florian Schmaus authored
      This makes all EMPER synchronization primitives inherit from
      Blockable. As result all block and unblock operations of a context
      will go to the same code path. We can later use this to store the set
      of currently blocked contexts.
      
      Also Blockable now inherits Logger, which makes some things easier,
      but as result we have to invoke the logX() methods with "this->"
      prepended. See related code comment.
      d1fa1055
    • Florian Schmaus's avatar
      Merge branch 'fix_actor_uninitialized_unblock' into 'master' · 625dc0f3
      Florian Schmaus authored
      fix Actor and UnboundedBlockingMpscQueue
      
      See merge request i4/manycore/emper!9
      625dc0f3
    • Florian Fischer's avatar
      prevent lost stop() calls · bdfc155c
      Florian Fischer authored
      Currently the write to 'state' from stop() is overridden in actorLoop()
      if it occurs while the Actor is executing the while loop body in actorLoop()
      because the while loop body unconditionally writes 'state'.
      
      To prevent those lost 'state' updates actorLoop() now uses compare_exchange
      to switch 'state'.
      bdfc155c
    • Florian Fischer's avatar
      initialize the blocked context pointer to prevent undefined unblock · 615f227f
      Florian Fischer authored
      Not initializing blockedContext means its original value is undefined and
      probably some random stack value != nullptr.
      
      If the first put() is executed before the first blocking get(), put() will read a
      random value from blockedContext and will call unblock with this random context
      pointer leading to execution of random memory.
      615f227f
  3. Oct 28, 2020
  4. Oct 27, 2020
  5. Oct 24, 2020
  6. Aug 23, 2020
  7. Aug 11, 2020
  8. Jul 31, 2020
  9. Jul 15, 2020
  10. Feb 19, 2020
  11. Jan 01, 2020
  12. Aug 29, 2019
  13. Jul 31, 2018
Loading