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

async.c

Blame
    • Tom Lane's avatar
      90857b48
      Preserve caller's memory context in ProcessCompletedNotifies(). · 90857b48
      Tom Lane authored
      This is necessary to avoid long-term memory leakage, because the main loop
      in PostgresMain expects to be executing in MessageContext, and hence is a
      bit sloppy about freeing stuff that is only needed for the duration of
      processing the current client message.  The known case of an actual leak
      is when encoding conversion has to be done on the incoming command string,
      but there might be others.  Per report from Per-Olov Esgard.
      
      Back-patch to 9.0, where the bug was introduced by the LISTEN/NOTIFY
      rewrite.
      90857b48
      History
      Preserve caller's memory context in ProcessCompletedNotifies().
      Tom Lane authored
      This is necessary to avoid long-term memory leakage, because the main loop
      in PostgresMain expects to be executing in MessageContext, and hence is a
      bit sloppy about freeing stuff that is only needed for the duration of
      processing the current client message.  The known case of an actual leak
      is when encoding conversion has to be done on the incoming command string,
      but there might be others.  Per report from Per-Olov Esgard.
      
      Back-patch to 9.0, where the bug was introduced by the LISTEN/NOTIFY
      rewrite.