From: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
---|---|
To: | Alfred Perlstein <bright(at)wintelcom(dot)net> |
Cc: | Lamar Owen <lamar(dot)owen(at)wgcr(dot)org>, Hiroshi Inoue <Inoue(at)tpf(dot)co(dot)jp>, pgsql-hackers(at)postgresql(dot)org |
Subject: | Re: How to shoot yourself in the foot: kill -9 postmaster |
Date: | 2001-03-06 18:57:04 |
Message-ID: | 6810.983905024@sss.pgh.pa.us |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
Alfred Perlstein <bright(at)wintelcom(dot)net> writes:
>> Are there any portability problems with relying on shm_nattch to be
>> available? If not, I like this a lot...
> Well it's available on FreeBSD and Solaris, I'm sure Redhat has
> some deamon that resets the value to 0 periodically just for kicks
> so it might not be viable... :)
I notice that our BeOS and QNX emulations of shmctl() don't support
IPC_STAT, but that could be dealt with, at least to the extent of
stubbing it out.
This does raise the question of what to do if shmctl(IPC_STAT) fails
for a reason other than EINVAL. I think the conservative thing to do
is refuse to start up. On EPERM, for example, it's possible that there
is a postmaster running in your PGDATA but with a different userid.
> Seriously, there's some dispute on the type that 'shm_nattch' is,
> under Solaris it's "shmatt_t" (unsigned long afaik), under FreeBSD
> it's 'short' (i should fix this. :)).
> But since you're really only testing for 0'ness then it shouldn't
> really be a problem.
We need not copy the value anywhere, so as long as the struct is
correctly declared in the system header files I don't think it matters
what the field type is ...
regards, tom lane
From | Date | Subject | |
---|---|---|---|
Next Message | Jarom Hagen | 2001-03-06 19:02:40 | COBOL |
Previous Message | The Hermit Hacker | 2001-03-06 18:56:32 | Re: mailing list messages |