> I get them too and don't know exactly what they mean. I think
> gcc is just telling that after returning to the setjmp
> location via longjmp the variable might not contain what
> there was before (the longjmp mechanism only restores the
> stack pointers, not the variable contents on the stack).
>
> But the longjmp's are there only to clean up the Tcl's
> interpreter nesting and allocations in the case of an
> elog(ERROR) before really jumping back into the postgres main
> loop. Tcl doesn't allocate via palloc, so there would be
> memory allocations never free'd otherwise. The mentioned
> variables aren't accessed after the longjumping session began
> (it's really a longjmp party if Tcl triggers use in turn Tcl
> functions where the queries invoke other functions/triggers
> and so on :-).
See postgres.c. We used to have that warning in postgres.c, but someone
changed something to fix it. I can't see what was changed, now that I
am looking at it.
--
Bruce Momjian | http://www.op.net/~candle
maillist(at)candle(dot)pha(dot)pa(dot)us | (610) 853-3000
+ If your life is a hard drive, | 830 Blythe Avenue
+ Christ can be your backup. | Drexel Hill, Pennsylvania 19026
In response to
Responses
pgsql-hackers by date
| Next: | From: Bruce Momjian | Date: 1998-10-09 22:03:57 |
| Subject: Release schedule |
| Previous: | From: D'Arcy J.M. Cain | Date: 1998-10-09 21:51:41 |
| Subject: Re: [HACKERS] CIDR type and functions |