Re: pg_background (and more parallelism infrastructure patches) - Mailing list pgsql-hackers

From Robert Haas
Subject Re: pg_background (and more parallelism infrastructure patches)
Date
Msg-id CA+TgmoZCODi+bqGseu+Fxg56ABG6GFgUv8cPgzZJZceY3CMuOg@mail.gmail.com
Whole thread Raw
In response to Re: pg_background (and more parallelism infrastructure patches)  (Alvaro Herrera <alvherre@2ndquadrant.com>)
Responses Re: pg_background (and more parallelism infrastructure patches)  (Amit Kapila <amit.kapila16@gmail.com>)
List pgsql-hackers
On Fri, Jul 25, 2014 at 4:16 PM, Alvaro Herrera
<alvherre@2ndquadrant.com> wrote:
> On Fri, Jul 25, 2014 at 02:11:32PM -0400, Robert Haas wrote:
>> +     pq_mq_busy = true;
>> +
>> +     iov[0].data = &msgtype;
>> +     iov[0].len = 1;
>> +     iov[1].data = s;
>> +     iov[1].len = len;
>> +
>> +     Assert(pq_mq_handle != NULL);
>> +     result = shm_mq_sendv(pq_mq_handle, iov, 2, false);
>> +
>> +     pq_mq_busy = false;
>
> Don't you need a PG_TRY block here to reset pq_mq_busy?

No.  If shm_mq_sendv is interrupted, we can't use the shm_mq any more.
But since that should only happen if an interrupt arrives while the
queue is full, I think that's OK.  (Think about the alternatives: if
the queue is full, we have no way of notifying the launching process
without waiting for it to retrieve the results, but it might not do
that right away, and if we've been killed we need to die *now* not
later.)

-- 
Robert Haas
EnterpriseDB: http://www.enterprisedb.com
The Enterprise PostgreSQL Company



pgsql-hackers by date:

Previous
From: Andres Freund
Date:
Subject: Re: parametric block size?
Next
From: Andres Freund
Date:
Subject: Re: [RFC] Should smgrtruncate() avoid sending sinval message for temp relations