Removing select(2) based latch (was Unportable implementation of background worker start)

From: Andres Freund <andres(at)anarazel(dot)de>
To: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Cc: Alvaro Herrera <alvherre(at)2ndquadrant(dot)com>, pgsql-hackers(at)postgresql(dot)org
Subject: Removing select(2) based latch (was Unportable implementation of background worker start)
Date: 2017-04-20 00:36:11
Message-ID: 20170420003611.7r2sdvehesdyiz2i@alap3.anarazel.de
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On 2017-04-19 20:06:05 -0400, Tom Lane wrote:
> > BTW, we IIRC had discussed removing the select() backed latch
> > implementation in this release. I'll try to dig up that discussion.
>
> Might be sensible. Even my pet dinosaurs have poll(2).

I can't find the discussion anymore, but I'm fairly sure we did discuss
that. So here's a new one.

> We should check the buildfarm to see if the select() implementation is
> being tested at all.

I verified it's currently not (unless I made a mistake):
pgbfprod=>
select bs.name, snapshot
FROM buildsystems bs, lateral (
SELECT * FROM build_status_log bsl
WHERE bs.name = bsl.sysname AND log_stage = 'configure.log'
ORDER BY bsl.sysname, bsl.snapshot desc, bsl.log_stage limit 1) bsl2
WHERE
log_text NOT LIKE '%no configure step for MSCV%'
AND log_text NOT LIKE '%checking for poll... yes%' order by snapshot desc;
name | snapshot
-----------+---------------------
frogmouth | 2017-04-19 00:32:32
jacana | 2017-04-19 00:00:58
narwhal | 2017-04-18 07:00:01
(3 rows)

and those three animals are windows, and thus use the windows
implementation.

This actually seems to suggest that no animal, including dead ones,
didn't have poll(2) support at the time of their last run...

- Andres

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Michael Paquier 2017-04-20 00:44:10 Re: Continuous buildfarm failures on hamster with bin-check
Previous Message Kyotaro HORIGUCHI 2017-04-20 00:31:04 Re: Quorum commit for multiple synchronous replication.