1. 13 May, 2019 3 commits
  2. 12 May, 2019 1 commit
  3. 09 May, 2019 5 commits
  4. 08 May, 2019 2 commits
  5. 07 May, 2019 1 commit
  6. 06 May, 2019 8 commits
  7. 05 May, 2019 4 commits
  8. 03 May, 2019 10 commits
    • Dridi Boukelmoune's avatar
      Help Coccinelle a tiny bit more · 06e7329d
      Dridi Boukelmoune authored
      It currently freaks out when it's not aware of a type, or when it
      encounters v_*_ macros in a function signature. This doesn't improve the
      results of the existing patches but we should take a habit of specifying
      where additional C includes are.
      06e7329d
    • Dridi Boukelmoune's avatar
      Swap isomorphism subjects · c722eb77
      Dridi Boukelmoune authored
      In this order it becomes possible to use VCL_VOID transparently as void
      without having to declare it again as a typedef. It doesn't matter for
      VRT_CTX because it tends to be easier to use it instead of its actual
      C type (with the typedef-in-patch penalty).
      
      Wave in my general direction if you're not slink and yet can make sense
      of the previous paragraph.
      c722eb77
    • Dridi Boukelmoune's avatar
      Timid start of Coccinelle type isomorphisms · 535192c3
      Dridi Boukelmoune authored
      This way we don't need to constantly deal with typedef ORing when we
      encounter a varnish-defined type. We still need to declare typedefs
      that we use, but it's already one order of magnitude more convenient.
      535192c3
    • Poul-Henning Kamp's avatar
      Simplifications · 2c8d4a78
      Poul-Henning Kamp authored
      2c8d4a78
    • Dridi Boukelmoune's avatar
      Verbosity no longer cycles through in varnishstat · f41055d3
      Dridi Boukelmoune authored
      Refs #2990
      f41055d3
    • Poul-Henning Kamp's avatar
      56c37d90
    • Nils Goroll's avatar
      update for #2471 · df909f16
      Nils Goroll authored
      df909f16
    • Nils Goroll's avatar
      no implicit warmup for manual temperature control · adf18f4d
      Nils Goroll authored
      As discussed during bugwash, we should be consistent about the manual
      temperature controls and not transition cold->warm, but rather fail.
      adf18f4d
    • Nils Goroll's avatar
      change semantics of the vcl 'auto' state and centralize vcl mgt · 424c7b85
      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
      424c7b85
    • Nils Goroll's avatar
      Revert "Don't panic if you try to relabel a VCL with the same label." · e407f7c1
      Nils Goroll authored
      This reverts commit 4709fae3.
      e407f7c1
  9. 02 May, 2019 3 commits
    • Martin Blix Grydeland's avatar
      Resolve race on waitinglist rushing between HSH_Unbusy and boc->state · a280f82b
      Martin Blix Grydeland authored
      This is the second attempt at a fix for this, the previous one was
      reverted.
      
      When an object is ready for delivery, HSH_Unbusy was called before calling
      ObjSetState([BOS_STREAM|BOS_FINISHED]). The HSH_Unbusy() call does the
      waitinglist rushing, but HSH_Lookup() wanted to look at the boc->state and
      if BOS_STREAM had been reached. This could cause requests woken to find
      that the stream state still hadn't been reached (ObjSetState still hadn't
      executed), and go back on the waitinglist.
      
      To fix this, this patch reverts commit
      0375791c, and goes back to considering
      OC_F_BUSY as the gate keeper for HSH_Lookup. This eliminates the race,
      because HSH_Unbusy and HSH_Lookup then uses the same mutex.
      
      That change opens up the possiblity that req code after HSH_Lookup() sees
      an object that has not yet reached BOS_STREAM. To counter this, once a boc
      reference is found during delivery, an ObjWaitState(BOS_STREAM) is done
      before continuing.
      
      Lastly, an ObjSetState(BOS_PREP_STREAM) is added just before HSH_Unbusy()
      in vbf_stp_error() and vbf_stp_fetchend() for the case where
      do_stream==false. This makes the order of events consistent throughout.
      a280f82b
    • Martin Blix Grydeland's avatar
    • Martin Blix Grydeland's avatar
      Revert "Fix the order of HSH_Fail() and ObjSetState()" · cc06c227
      Martin Blix Grydeland authored
      This reverts commit 501246e9.
      cc06c227
  10. 30 Apr, 2019 3 commits