Andrew Dunstan <andrew@dunslane.net> writes:
> Not quite out of the woods yet. We're getting this regression failure on
> Windows/MSVC (see
> <http://www.pgbuildfarm.org/cgi-bin/show_log.pl?nm=bowerbird&dt=2014-01-17%2018%3A20%3A35>):
> SELECT test_shm_mq(32768, (select string_agg(chr(32+(random()*96)::int), '') from generate_series(1,400)), 10000,
1);
> ! ERROR: queue size must be at least 472262143 bytes
It looks like this is computing a bogus value:
const Size shm_mq_minimum_size =MAXALIGN(offsetof(shm_mq, mq_ring)) + MAXIMUM_ALIGNOF;
I seem to recall that we've previously found that you have to write
MAXALIGN(offsetof(shm_mq, mq_ring[0])) + MAXIMUM_ALIGNOF;
to keep MSVC happy with a reference to an array member in offsetof.
regards, tom lane