[Qgis-developer] [GRASS-dev] GRASS & QGIS: the future
radim.blazek at gmail.com
Thu May 15 10:45:36 PDT 2014
On Sat, Apr 19, 2014 at 12:43 AM, Glynn Clements
<glynn at gclements.plus.com> wrote:
>> 3) use setjmp()/longjmp()
> That is the sane option.
> But bear in mind that subsequently calling any GRASS function is
> entirely "at your own risk". A call to G_fatal_error() often means
> that internal data structures will contain garbarge.
> If you want to submit patches to perform clean-up in the event of
> fatal errors, they will presumably be accepted.
> Failing that, it may be advisable to have G_fatal_error() zero-out
> certain core data structures (e.g. R__) so that people don't make the
> mistake of trying to carry on as if nothing happened.
There is a problem in G_fatal_error():
static int busy
busy = 1;
second G_fatal_error() call always exits.
The busy check is there for the case when print error routine itself
ends up with call to G_fatal_error()?
May be the busy variable made global and added a function to clear it?
More information about the Qgis-developer