1. 17 Jun, 2024 4 commits
  2. 23 Oct, 2023 3 commits
    • Nils Goroll's avatar
      Fix up the worker in the VDP context as well · 38cff6d5
      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
      38cff6d5
    • Nils Goroll's avatar
      Fix AC_ARG_WITH() syntax · 30b15622
      Nils Goroll authored
      30b15622
    • Nils Goroll's avatar
      Renovate autoconf for compatibility with 2.71 · 199006b6
      Nils Goroll authored
      see https://github.com/varnishcache/varnish-cache/pull/3804 for context
      
      The C compiler checks have been removed as they are already
      contained in VARNISH_PREREQ
      199006b6
  3. 11 Apr, 2023 5 commits
  4. 07 Apr, 2023 1 commit
    • Nils Goroll's avatar
      Do not short-cut the mutex protecting node->subreq.done · 4c3f8070
      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
      
      (backport of 067c16e0 to 6.6)
      4c3f8070
  5. 06 Apr, 2023 2 commits
  6. 27 Apr, 2022 2 commits
  7. 25 Jan, 2022 2 commits
  8. 27 Oct, 2021 3 commits
  9. 23 Aug, 2021 1 commit
    • Nils Goroll's avatar
      Add back _POSIX_C_SOURCE · a4357ee7
      Nils Goroll authored
      I had removed these before the public open source release based on Flexelint output,
      but Geoff is correct that, contrary to the C version macros like __STDC_VERSION__,
      _POSIX_C_SOURCE is to be set by the programmer.
      
      Ref: https://www.gnu.org/software/libc/manual/html_node/Feature-Test-Macros.html
      
      On the downside, we do now see some noise from flexelint and it is unclear to me
      how to suppress Note 9071.
      
      --- Module:   pesi.c (C)
      File pesi.c, Line 33
              _
          Note 9071: defined macro '_POSIX_C_SOURCE' is reserved to the compiler
      File /usr/include/x86_64-linux-gnu/bits/types/struct_tm.h, Line 23
                            _
        long int __tm_gmtoff;		/* Seconds east of UTC.  */
          Error 114: Inconsistent structure declaration for tag 'tm'
      File /usr/include/x86_64-linux-gnu/bits/types/struct_tm.h, Line 24
                             _
        const char *__tm_zone;	/* Timezone abbreviation.  */
          Error 114: Inconsistent structure declaration for tag 'tm'
      
      --- Module:   vdp_pesi.c (C)
      File vdp_pesi.c, Line 33
              _
          Note 9071: defined macro '_POSIX_C_SOURCE' is reserved to the compiler
      File /usr/include/x86_64-linux-gnu/bits/types/struct_tm.h, Line 23
                            _
        long int __tm_gmtoff;		/* Seconds east of UTC.  */
          Error 114: Inconsistent structure declaration for tag 'tm'
      File /usr/include/x86_64-linux-gnu/bits/types/struct_tm.h, Line 24
                             _
        const char *__tm_zone;	/* Timezone abbreviation.  */
          Error 114: Inconsistent structure declaration for tag 'tm'
      a4357ee7
  10. 17 Aug, 2021 4 commits
  11. 16 Aug, 2021 1 commit