1. 06 Jan, 2024 1 commit
  2. 26 Dec, 2023 1 commit
  3. 22 Dec, 2023 5 commits
    • Nils Goroll's avatar
      Fix and radically simplify logbuffer_wait_flush_fini() · b81832bf
      Nils Goroll authored
      The dance of taking a reference when waiting caused a lot of trouble
      already before, and with a fresh look at it does not seem to make much
      sense. But most importantly, it was wrong:
      
      lbuf->ff was set to NULL in logbuffer_flush_finish_work_one() before
      the mutex was returned with pthread_cond_wait(), so
      
      	if (ff == NULL)
      		goto unlock;
      
      in logbuffer_wait_flush_fini() could lead to the function returning
      before logbuffer_flush_finish_work_one() _was_ actually done.
      
      But with bceec122 this could lead
      to the stack memory being repurposed (logbuffer_flush_finish
      returning) before it was actually safe to.
      
      This issue could surface in fellow_log_test hanging.
      
      We also now return all allocations under the lock to prevent a race
      with fellow_log_close() where flush finish threads could outlive the
      ffd, resulting in buddy leak detection to fire, because the ff
      allocation was not returned.
      
      Fixes #49
      b81832bf
    • Nils Goroll's avatar
      Buddy: fix cramlimit_bits() · 95ec7bce
      Nils Goroll authored
      The other assertion is what we actually mean:
      
      The log2up(sz) must be at least bits, otherwise it makes no sense.
      95ec7bce
    • Nils Goroll's avatar
      Buddy: reprioritize requests before waiting · 96902eaa
      Nils Goroll authored
      96902eaa
    • Nils Goroll's avatar
      Buddy: copy the priority from reqs to i_wait · 2ab01664
      Nils Goroll authored
      otherwise all hell will break loose if we changed reqs->pri, because
      we would dequeue from the wrong list head.
      2ab01664
    • Nils Goroll's avatar
      3a49292f
  4. 21 Dec, 2023 6 commits
  5. 20 Dec, 2023 16 commits
  6. 18 Dec, 2023 2 commits
  7. 17 Dec, 2023 2 commits
  8. 15 Dec, 2023 3 commits
  9. 14 Dec, 2023 4 commits