Skip to content
Snippets Groups Projects
Select Git revision
  • 9.0
  • master default protected
  • 8.0
  • rosuav/latex-markdown-renderer
  • rxnpatch/rxnpatch
  • marcus/gobject-introspection
  • rxnpatch/8.0
  • rosuav/pre-listening-ports
  • 7.8
  • nt-tools
  • 7.6
  • 7.4
  • 7.2
  • 7.0
  • rosuav/async-annotations
  • rosuav/pgsql-ssl
  • rxnpatch/rxnpatch-broken/2023-10-06T094250
  • grubba/fdlib
  • grubba/wip/sakura/8.0
  • grubba/wip/sakura/master
  • v8.0.1990
  • v8.0.1988
  • v8.0.1986
  • rxnpatch/clusters/8.0/2025-04-29T124414
  • rxnpatch/2025-04-29T124414
  • v8.0.1984
  • v8.0.1982
  • v8.0.1980
  • v8.0.1978
  • v8.0.1976
  • v8.0.1974
  • v8.0.1972
  • v8.0.1970
  • v8.0.1968
  • v8.0.1966
  • v8.0.1964
  • v8.0.1962
  • v8.0.1960
  • v8.0.1956
  • rxnpatch/clusters/8.0/2025-02-05T103156
40 results

pgsql.pike

Blame
    • Stephen R. van den Berg's avatar
      f339d7f8
      pgsql: Kludge around clone race in Pike core. · f339d7f8
      Stephen R. van den Berg authored
      As reported by Jeff Hungerford:
      
      When there is:
      - No connection at present.
      - Two or more threads try to open an initial connection to the database
        simultaneously.
      
      You can trigger this:
      
      Attempting to clone an unfinished program
      /usr/local/pike/8.0.175/lib/modules/Sql.pmod/Sql.pike:342:
          Sql.Sql()->create("localhost:5432","foo","bar","CENSORED",UNDEFINED)
      
      This could be caused by a race in the Pike-core class-cloning code which
      is not racefree when two threads try to instantiate the same object
      at roughly the same instant.
      
      This patch attempts a workaround to detect the race and loop until
      it finishes without problems.  It would be better if this could be
      fixed in the Pike-core.
      f339d7f8
      History
      pgsql: Kludge around clone race in Pike core.
      Stephen R. van den Berg authored
      As reported by Jeff Hungerford:
      
      When there is:
      - No connection at present.
      - Two or more threads try to open an initial connection to the database
        simultaneously.
      
      You can trigger this:
      
      Attempting to clone an unfinished program
      /usr/local/pike/8.0.175/lib/modules/Sql.pmod/Sql.pike:342:
          Sql.Sql()->create("localhost:5432","foo","bar","CENSORED",UNDEFINED)
      
      This could be caused by a race in the Pike-core class-cloning code which
      is not racefree when two threads try to instantiate the same object
      at roughly the same instant.
      
      This patch attempts a workaround to detect the race and loop until
      it finishes without problems.  It would be better if this could be
      fixed in the Pike-core.