Re: How to shoot yourself in the foot: kill -9 postmaster
От | Alfred Perlstein |
---|---|
Тема | Re: How to shoot yourself in the foot: kill -9 postmaster |
Дата | |
Msg-id | 20010306111216.P8663@fw.wintelcom.net обсуждение исходный текст |
Ответ на | Re: How to shoot yourself in the foot: kill -9 postmaster (Tom Lane <tgl@sss.pgh.pa.us>) |
Ответы |
Re: How to shoot yourself in the foot: kill -9 postmaster
|
Список | pgsql-hackers |
* Tom Lane <tgl@sss.pgh.pa.us> [010306 11:03] wrote: > Alfred Perlstein <bright@wintelcom.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. Well since we already have spinlocks, I can't see why we can't keep the refcount and spinlock in a special place in the shm for all cases? > 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. Yes, if possible a more meaningfull error message and pointer to some docco would be nice or even a nice "i don't care, i killed all the backends, just start darnit" flag, it's really no fun at all to have to attempt to decypher some cryptic error message at 3am when the database/system is acting up. :) > > 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 ... Yup, my point exactly. -- -Alfred Perlstein - [bright@wintelcom.net|alfred@freebsd.org]
В списке pgsql-hackers по дате отправления: