- 12 May, 2019 1 commit
-
-
Poul-Henning Kamp authored
-
- 09 May, 2019 5 commits
-
-
Dridi Boukelmoune authored
-
Dridi Boukelmoune authored
-
Poul-Henning Kamp authored
-
Poul-Henning Kamp authored
-
Poul-Henning Kamp authored
-
- 08 May, 2019 2 commits
-
-
Poul-Henning Kamp authored
-
Poul-Henning Kamp authored
cold&discard for their VCL. Closes: #2471
-
- 07 May, 2019 1 commit
-
-
Poul-Henning Kamp authored
-
- 06 May, 2019 8 commits
-
-
Poul-Henning Kamp authored
we want a single unique suckaddr.
-
Poul-Henning Kamp authored
-
Pål Hermunn Johansen authored
When an object is dying, we would rather not have the ban lurker evalueate it against any existing bans. Now it will, when a dying object is found, simply remove the oc off the ban list completely. This is very cheap since we are already holding the oh and ban mutexes.
-
Pål Hermunn Johansen authored
-
Poul-Henning Kamp authored
This reverts commit f9c9db4a.
-
Poul-Henning Kamp authored
-
Poul-Henning Kamp authored
Relevant to #2800
-
Poul-Henning Kamp authored
-
- 05 May, 2019 4 commits
-
-
Federico G. Schwindt authored
-
Federico G. Schwindt authored
-
Federico G. Schwindt authored
-
Federico G. Schwindt authored
The former fails in some platforms but we can test the latter.
-
- 03 May, 2019 10 commits
-
-
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.
-
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.
-
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.
-
Poul-Henning Kamp authored
-
Dridi Boukelmoune authored
Refs #2990
-
Poul-Henning Kamp authored
-
Nils Goroll authored
-
Nils Goroll authored
As discussed during bugwash, we should be consistent about the manual temperature controls and not transition cold->warm, but rather fail.
-
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
-
Nils Goroll authored
This reverts commit 4709fae3.
-
- 02 May, 2019 3 commits
-
-
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.
-
Martin Blix Grydeland authored
This reverts commit 4130055c.
-
Martin Blix Grydeland authored
This reverts commit 501246e9.
-
- 30 Apr, 2019 6 commits
-
-
Nils Goroll authored
-
Dridi Boukelmoune authored
This reverts commit 3648ab62. I didn't notice the null check added after REPLACE in the mean time.
-
Dridi Boukelmoune authored
Spotted by Coverity Scan.
-
Poul-Henning Kamp authored
-
Poul-Henning Kamp authored
-
Poul-Henning Kamp authored
Fixes: 2576
-