Re: [PATCH] Use DatumGetUInt32() for dsm_attach() in test_shm_mq_main()
| От | Nathan Bossart | 
|---|---|
| Тема | Re: [PATCH] Use DatumGetUInt32() for dsm_attach() in test_shm_mq_main() | 
| Дата | |
| Msg-id | aF2uAWMtGR-HNc9C@nathan обсуждение исходный текст | 
| Ответ на | [PATCH] Use DatumGetUInt32() for dsm_attach() in test_shm_mq_main() (Jianghua Yang <yjhjstz@gmail.com>) | 
| Ответы | Re: [PATCH] Use DatumGetUInt32() for dsm_attach() in test_shm_mq_main() | 
| Список | pgsql-hackers | 
On Thu, Jun 26, 2025 at 12:51:10PM -0700, Jianghua Yang wrote: > The argument passed to `dsm_attach()` is expected to be a `uint32`, but the > code currently uses `DatumGetInt32()` to extract it from the `Datum` > argument. This can lead to incorrect behavior when the high bit is set, as > 'unable to map dynamic shared memory segment'. I'm not sure this actually causes any problems in practice because dsm_attach() treats its argument as unsigned. In any case, I've never seen this test fail like that, and presumably the high bit is sometimes set because the handle is generated with a PRNG. Nevertheless, I see no point in using the wrong macro. I'll plan on committing/back-patching this shortly. -- nathan
В списке pgsql-hackers по дате отправления: