Re: [HACKERS] [BUG FIX] Removing NamedLWLockTrancheArray
От | Amit Kapila |
---|---|
Тема | Re: [HACKERS] [BUG FIX] Removing NamedLWLockTrancheArray |
Дата | |
Msg-id | CAA4eK1J0DcZun00PwSiftvUjpGfD2zq8CYXv9RYtiJPGbraPTw@mail.gmail.com обсуждение исходный текст |
Ответ на | Re: [HACKERS] [BUG FIX] Removing NamedLWLockTrancheArray (Kyotaro HORIGUCHI <horiguchi.kyotaro@lab.ntt.co.jp>) |
Ответы |
Re: [HACKERS] [BUG FIX] Removing NamedLWLockTrancheArray
|
Список | pgsql-hackers |
On Fri, Mar 3, 2017 at 3:49 PM, Kyotaro HORIGUCHI <horiguchi.kyotaro@lab.ntt.co.jp> wrote: >> You can read about usage of LWLocks in extensions from below location: >> https://www.postgresql.org/docs/devel/static/xfunc-c.html#idp86986416 > > Thank you for the pointer. I understand that the document describes the only > correct way to use LWLock in extensions and using LWLockRegisterTranche is > a non-standard or prohibit way to do that. > > By the way, in the case of orafce, it uses LWLockRegisterTranche directly > but only when !found. So if any backend other than the creator of the shmem > want to access tranche, the puch tranche is not found on the process and > crashes. I think this is it. > Yeah and I think that is expected if you use LWLockRegisterTranche. You might want to read comments in lwlock.h to know the reason behind the same. > If no other modules is installed, registeriing a tranche even if found will > supress the crash but it is not a solution at all. > > At least for 9.6 or 10, orafce should do that following the documentation. > Agreed. > But it still can crash from the problem by the separate > NamedLWLockTrancheArray. (ID range check in LWLockInitialize would be > useless if it is not used by extensions) > What exact problem are you referring here? -- With Regards, Amit Kapila. EnterpriseDB: http://www.enterprisedb.com
В списке pgsql-hackers по дате отправления: