On Sun, Oct 19, 2008 at 11:21:09PM -0400, Tom Lane wrote:
> Eric Haszlakiewicz <[EMAIL PROTECTED]> writes:
> > On Sun, Oct 19, 2008 at 10:15:22PM -0400, Tom Lane wrote:
> >> What platform is this, anyway?
> > I'm running on NetBSD 4.
> 
> > Well, it seems that something doesn't work right with the "try the next key"
> > code when the userid are the same.  I'm not really sure what I should try
> > here.
> 
> I read the code and the shmget spec a bit more.  It looks to me like the
> issue may be about the ordering of error checks in the kernel.  The
> Single Unix Spec quoth
...snip...
> If you are starting the two servers with different shmem sizing
> parameters then it is possible that the second reason for giving EINVAL
> applies.  Now our code is expecting to get EEXIST if there's a shmem
...snip...
> So the first question for you is did you give the two servers different
> shmem sizing parameters?  If so, does the behavior change if you start
> them in the opposite order?  If the answer to both is "yes" then I think
> you ought to file a bug against NetBSD kernel.  They're returning an
> error code that is uselessly confusing and out of step with other
> implementations.

Yes, and yes.  The error checking order in NetBSD put the EEXIST return
last so the "different size check" was taking precedence.  I fixed that,
and now starting two pg servers, even in different chroot's, behaves as
expected.  Thanks for the suggestion of where to look!

eric

-- 
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers

Reply via email to