1. 19 Dec, 2019 7 commits
    • Andrew Wiik's avatar
    • Andrew Wiik's avatar
      a8606b8e
    • Martin Blix Grydeland's avatar
      Correct the probe heap comparison function · 8bf63a88
      Martin Blix Grydeland authored
      Fix the probe scheduler heap comparison function to be consistent with
      regard to different running state of the two arguments. With this fix,
      probes that are not running will always bubble to the top before those
      that are already running.
      8bf63a88
    • Dridi Boukelmoune's avatar
      Make sure to use none backends in generated C code · ef20272c
      Dridi Boukelmoune authored
      Otherwise you might run into this:
      
          Message from VCC-compiler:
          Unused backend nil, defined:
          ('<vcl.inline>' Line 4 Pos 17)
                  backend nil none;
          ----------------###------
      
          (That was just a warning)
          Message from C-compiler:
          vgc.c:1476:20: error: unused variable 'vgc_backend_nil' [-Werror,-Wunused-variable]
          static VCL_BACKEND vgc_backend_nil;
                             ^
          1 error generated.
          Running C-compiler failed, exited with 1
          VCL compilation failed
      
      This is done in both init and discard code to maintain the balance.
      ef20272c
    • Nils Goroll's avatar
      no implicit warmup for manual temperature control · e8e4d489
      Nils Goroll authored
      As discussed during bugwash, we should be consistent about the manual
      temperature controls and not transition cold->warm, but rather fail.
      e8e4d489
    • Nils Goroll's avatar
      change semantics of the vcl 'auto' state and centralize vcl mgt · ae00a9c1
      Nils Goroll authored
      Conceptually, the auto state was a variant of the warm state which
      would automatically cool the vcl. Yet, cooling did not only transition
      the temperature, but also the state, so 'auto' only worked one way -
      except that vcl.use or moving a label (by labeling another vcl) would
      also set 'auto', so a manual warm/cold setting would get lost.
      
      Now the auto-state will remain no matter the actual temperature or
      labeling, so when a vcl needs to implicitly change temperature (due to
      being used or being labeled), an auto vcl will remain auto, and a
      cold/warm vcl will change state, but never become 'auto' implicitly.
      
      The vcl state/temperature test v00003.vtc, besides testing the new
      auto semantics, now also checks for the right vcl.list output and has
      been reduced by a duplicate check (warm event check has been
      integrated into an existing warm event).
      
      On other code changes:
      
      * mgt_vcl_setstate
      
        is now only concerned with the state, the temperature will be
        changed implicitly if so required. The state will either end up
        changed or restored, depending on success.
      
        owner of changes to the (struct vclprog).state member
      
      * mgt_vcl_settemp
      
        responsible for the right action to change the temperature. For auto,
        it will only change the temperature, for non-auto, also the state.
      
        owner of changes to the (struct vclprog).warm member
      
      * mgt_vcl_tellchild
      
        Inform the child about a change and/or temperature change
      
      * mgt_vcl_set_cooldown
      
        Update the cooldown (go_cold) appropriately, should be called after
        a change/temperature change.
      
      Fixes #2834
      Closes #2801
      
      Conflicts:
      	bin/varnishtest/tests/v00003.vtc
      ae00a9c1
    • Poul-Henning Kamp's avatar
      Make it explicit that vcl.discard are not allowed to fail in · 161a783b
      Poul-Henning Kamp authored
      the child process.
      
      Inspired by: #2471
      161a783b
  2. 18 Dec, 2019 4 commits
  3. 12 Dec, 2019 1 commit
  4. 11 Dec, 2019 3 commits
  5. 28 Oct, 2019 1 commit
  6. 18 Oct, 2019 24 commits