1. 23 Jun, 2021 2 commits
    • Dridi Boukelmoune's avatar
      varnishtest: Make barriers reactive on error · 3c67da44
      Dridi Boukelmoune authored
      A failing test may take up to the vtc timeout to effectively fail if a
      thread is waiting for a barrier to sync. Barriers now check every 100ms
      whether the vtc is done to bail out.
      
      The socket barriers were already polling for 1s, so now they poll for
      100ms and leave the loop early when needed.
      
      The condvar barriers now loop over a timedwait, but critical sections
      were too wide. There were vtc_fatal() calls under barrier locks that
      would defeat the timedwait loop.
      
      Thus critical sections were more carefully laid, allowing multiple
      barrier commands to run simultaneously. This also means that besides
      initialization, socket barriers no longer touch the lock.
      
      Consider the following diff:
      
          --- bin/varnishtest/tests/v00056.vtc
          +++ bin/varnishtest/tests/v00056.vtc
          @@ -72,7 +72,7 @@ client c2 {
           } -run
      
           logexpect l2 -v v1 -g raw -q Backend_health {
          -       expect 0 0 Backend_health "default Went healthy"
          +       expect 0 0 Backend_health "default Went wrong"
           } -start
      
           barrier b3 sync
      
      With this change l2 would fail early, typically in less than 2s, but the
      barriers stuck in a condwait would prevent further progress.
      3c67da44
    • Guillaume Quintard's avatar
      [cci] refactor · 7b422447
      Guillaume Quintard authored
      7b422447
  2. 22 Jun, 2021 3 commits
  3. 21 Jun, 2021 3 commits
  4. 18 Jun, 2021 2 commits
  5. 17 Jun, 2021 3 commits
  6. 14 Jun, 2021 3 commits
    • Dridi Boukelmoune's avatar
      req: New hash_ignore_vary flag · badee461
      Dridi Boukelmoune authored
      It works like the hash_ignore_busy flag: it is disabled by default
      and survives a restart, but as the name implies will skip vary checks
      for object candidates.
      badee461
    • Nils Goroll's avatar
      Fail the vcl for hard pcre errors · bd36ad4d
      Nils Goroll authored
      When a regex match failed with a hard error (anything which is not just
      a "no match"), we would log a VCL_Error but otherwise just fail the
      match.
      
      Thus, such failures were likely go remain unnoticed, which could have
      serious implications in particular with negated matches.
      
      Ref 6c663836
      bd36ad4d
    • Poul-Henning Kamp's avatar
      Always assert VSB_finish() · 5fd49a1b
      Poul-Henning Kamp authored
      Spotted by: Coverity
      5fd49a1b
  7. 13 Jun, 2021 1 commit
    • Federico G. Schwindt's avatar
      Fix compilation on macOS Big Sur · 2ac27056
      Federico G. Schwindt authored
      Fixes:
      
      In file included from vev.c:36:
       /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/pthread.h:328:6: error: macro expansion producing 'defined' has undefined behavior [-Werror,-Wexpansion-to-defined]
       #if !_PTHREAD_SWIFT_IMPORTER_NULLABILITY_COMPAT
            ^
       /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/pthread.h:197:2: note: expanded from macro '_PTHREAD_SWIFT_IMPORTER_NULLABILITY_COMPAT'
               defined(SWIFT_CLASS_EXTRA) && (!defined(SWIFT_SDK_OVERLAY_PTHREAD_EPOCH) || (SWIFT_SDK_OVERLAY_PTHREAD_EPOCH < 1))
      2ac27056
  8. 11 Jun, 2021 5 commits
  9. 10 Jun, 2021 14 commits
  10. 09 Jun, 2021 4 commits