Re: Interrupting long external library calls

From: Sandro Santilli <strk(at)keybit(dot)net>
To: Florian Pflug <fgp(at)phlo(dot)org>
Cc: Simon Riggs <simon(at)2ndQuadrant(dot)com>, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, Heikki Linnakangas <heikki(dot)linnakangas(at)enterprisedb(dot)com>, Mark Cave-Ayland <mark(dot)cave-ayland(at)ilande(dot)co(dot)uk>, pgsql-hackers(at)postgresql(dot)org
Subject: Re: Interrupting long external library calls
Date: 2012-06-07 10:08:41
Message-ID: 20120607100841.GL1917@gnash
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Thu, Jun 07, 2012 at 12:00:09PM +0200, Florian Pflug wrote:
> On Jun7, 2012, at 10:20 , Sandro Santilli wrote:

> > In that case I can understand Tom's advice about providing a callback,
> > and then I would only need to perform the "events flushing" part of
> > from within the callback, and only for windows.
>
> Why would you need a signal handler in the library at all, then? Just
> test the same flags that CHECK_FOR_INTERRUPTS does in the callback, and
> call your interrupt request method if they indicate "abort". (Or, slightly
> cleaner maybe, allow the callback to abort processing by returning false)

I'm just afraid that invoking a callback (from a library to user code)
could be significantly slower than simply lookup a variable, especially
if the interruption checking is performed very frequently. But maybe I'm
being overparanoid.

--strk;

,------o-.
| __/ | Delivering high quality PostGIS 2.0 !
| / 2.0 | http://strk.keybit.net - http://vizzuality.com
`-o------'

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Florian Pflug 2012-06-07 10:23:42 Re: Interrupting long external library calls
Previous Message Florian Pflug 2012-06-07 10:00:09 Re: Interrupting long external library calls