Re: codlin_month is up and complain - PL/Python crash
| От | Peter Eisentraut |
|---|---|
| Тема | Re: codlin_month is up and complain - PL/Python crash |
| Дата | |
| Msg-id | 1266423350.3539.10.camel@vanquo.pezone.net обсуждение исходный текст |
| Ответ на | Re: codlin_month is up and complain - PL/Python crash (Tom Lane <tgl@sss.pgh.pa.us>) |
| Ответы |
Re: codlin_month is up and complain - PL/Python crash
|
| Список | pgsql-hackers |
On ons, 2010-02-17 at 11:05 -0500, Tom Lane wrote:
> All of the MemoryContextSwitchTo calls in plpython seem to be in
> patterns like this:
>
> MemoryContext oldcontext;
>
> oldcontext = CurrentMemoryContext;
> PG_TRY();
> {
> ... do something ...
> }
> PG_CATCH();
> {
> MemoryContextSwitchTo(oldcontext);
>
> Since oldcontext is only set in the one place, it really shouldn't
> require "volatile" decoration, but maybe it does.
It is my understanding that local automatic variables may be clobbered
by [sig]longjmp unless they are marked volatile. The PG_CATCH branch is
reached by means of a [sig]longjmp. So that would mean that any
variable that you want to use both before the TRY and inside the CATCH
has to be volatile.
В списке pgsql-hackers по дате отправления: