"Qingqing Zhou" <zhouqq@cs.toronto.edu> writes:
> AllocateFile() and AllocateDir() should return the control to the caller
> since we might want to upgrade the elevel.
That is not what we do for upgrading errors. Use a critical section in
a caller that doesn't want elog(ERROR).
regards, tom lane