- 12 Jun, 2023 7 commits
-
-
Nils Goroll authored
In order to properly handle vped_include() failing, we need a way to insert a node only when it's ready and free it when not. Thus, we link to the parent in node_new(), but do not insert the child to the parent's list. As before, this happens in node_insert. On the way, we also add node_free() to free a node without finalizing it. Partly fixes !11
-
Nils Goroll authored
-
Nils Goroll authored
-
Nils Goroll authored
-
Nils Goroll authored
-
Nils Goroll authored
-
Nils Goroll authored
-
- 11 Jun, 2023 12 commits
-
-
Nils Goroll authored
Related prep-work for !6
-
Nils Goroll authored
-
Nils Goroll authored
-
Nils Goroll authored
found by flexelint
-
Nils Goroll authored
Now that we got rid of front unpending, we can also remove all the complications due to the ST_OPEN state. Begin with removing that state itself.
-
Nils Goroll authored
-
Nils Goroll authored
It was effectively removed in 913c4653 but dead code was left until now.
-
Nils Goroll authored
found by flexelint
-
Nils Goroll authored
-
Nils Goroll authored
-
Nils Goroll authored
Found by flexelint
-
Nils Goroll authored
Ever since the first release of vmod_pesi, we knew that this feature was probably not useful: As explained in the THREADS section of the vcc / man page, we can not push to VDPs, so the only case where this could work was when there are no VDPs. The only case pESI itself does not need any is non-esi, non-gzip uncacheable streaming. Also, the only case where it made a significant difference from pushing from the level 0 / front thread was when there are no threads available and the front thread runs the current include. Since then, we never encountered a situation where we would have needed this feature.
-
- 09 Jun, 2023 2 commits
-
-
Nils Goroll authored
Now we can keep references also to private leaf objects. For ESI objects, which we also need to inspect when building the delivery tree, we still need to make copies in pesi_buf_bytes because, if the final flag to ObjIterate() is set, the storage engine can (and usually will) free segments "behind" delivery.
-
Nils Goroll authored
-
- 10 May, 2023 2 commits
-
-
Nils Goroll authored
vmod_pesi works by saving the resulting data from a sub request to a tree structure, which gets delivered to the client in the top request's thread, once it is ready. For cacheable objects which do not require ESI processing, we simply keep the original request with an additional reference to the object. So basically we hand delivery from one worker to another. subreq_fixup() is responsible for converting the saved request to a state as if it was handled by the request handling the top level request, so one of the changes it applies is to change the wrk pointer to the worker of the top level request. Yet that change was incomplete and we missed an additional pointer in struct vdp_ctx. This should hopefully fix #14
-
Nils Goroll authored
-
- 08 Apr, 2023 1 commit
-
-
Nils Goroll authored
AM_CFLAGS are set by the recursive make, but it's CFLAGS which we need to carry over.
-
- 07 Apr, 2023 1 commit
-
-
Nils Goroll authored
A follow-up issue has been reported in #13: Assert error in Lck_Delete(), cache/cache_lck.c line 309: Condition((pthread_mutex_destroy(&ilck->mtx)) == 0) not true. triggered from Lck_Delete(&bytes_tree->nodes_lock) at the bottom of bytes_tree_fini(). Assuming everything else working correctly, the only scenario I can see the moment is that we see the node->subreq.done == 1 earlier than Lck_Unlock() returned in vped_task(). In this case, we could advance to destroying the lock while the other thread still holds it. The other use case of the shared lock is in fini_final(), where we already go through an explicit lock/unlock. Hopefully fixes #13 for real
-
- 06 Apr, 2023 4 commits
-
-
Nils Goroll authored
The BackendReuse tag no longer exists.
-
Nils Goroll authored
This looks like a trivial oversight in 3370a4c4, which was meant to fix #10: We need to use the corresponding lock to signal when a subreq node is done. Hopefully fixes #13
-
Nils Goroll authored
Avoids "Illegal :path pseudo-header" errors
-
Nils Goroll authored
-
- 27 Feb, 2023 1 commit
-
-
Geoff Simmons authored
-
- 24 Feb, 2023 2 commits
-
-
Nils Goroll authored
Ref: 7da66c9b03f82b97e2476d5d0af62e58e0419216
-
Nils Goroll authored
-
- 28 Jan, 2023 4 commits
-
-
-
Nils Goroll authored
-
Nils Goroll authored
-
Nils Goroll authored
-
- 26 Jan, 2023 4 commits
-
-
Nils Goroll authored
-
Nils Goroll authored
-
Nils Goroll authored
This brings it down from 120 to 112 bytes for me.
-
Nils Goroll authored
-