Skip to content
Snippets Groups Projects
Select Git revision
  • benchmark-tools
  • postgres-lambda
  • master default
  • REL9_4_25
  • REL9_5_20
  • REL9_6_16
  • REL_10_11
  • REL_11_6
  • REL_12_1
  • REL_12_0
  • REL_12_RC1
  • REL_12_BETA4
  • REL9_4_24
  • REL9_5_19
  • REL9_6_15
  • REL_10_10
  • REL_11_5
  • REL_12_BETA3
  • REL9_4_23
  • REL9_5_18
  • REL9_6_14
  • REL_10_9
  • REL_11_4
23 results

portalmem.c

Blame
    • Peter Eisentraut's avatar
      ad9a2747
      Fix crash when canceling parallel query · ad9a2747
      Peter Eisentraut authored
      
      elog(FATAL) would end up calling PortalCleanup(), which would call
      executor shutdown code, which could fail and crash, especially under
      parallel query.  This was introduced by
      8561e484, which did not want to mark an
      active portal as failed by a normal transaction abort anymore.  But we
      do need to do that for an elog(FATAL) exit.  Introduce a variable
      shmem_exit_inprogress similar to the existing proc_exit_inprogress, so
      we can tell whether we are in the FATAL exit scenario.
      
      Reported-by: default avatarAndres Freund <andres@anarazel.de>
      ad9a2747
      History
      Fix crash when canceling parallel query
      Peter Eisentraut authored
      
      elog(FATAL) would end up calling PortalCleanup(), which would call
      executor shutdown code, which could fail and crash, especially under
      parallel query.  This was introduced by
      8561e484, which did not want to mark an
      active portal as failed by a normal transaction abort anymore.  But we
      do need to do that for an elog(FATAL) exit.  Introduce a variable
      shmem_exit_inprogress similar to the existing proc_exit_inprogress, so
      we can tell whether we are in the FATAL exit scenario.
      
      Reported-by: default avatarAndres Freund <andres@anarazel.de>