On 29 June 2016 at 00:47, Max Fomichev <max.fomitchev@gmail.com> wrote:
> Hello.
> I'm trying to understand how to work with dynamic shared memory, message
> queues and workers.
> The problem is I can not initialize a dsm segment -
>
> void _PG_init() {
> ...
> dsm_segment *seg = dsm_create(32768, 0); // Segmentation fault here
> Also I was trying to move dsm_create call to a worker, but with the same
> result -
>
> static void mainProc(Datum) {
> ...
> dsm_segment *seg = dsm_create(32768, 0); // Segmentation fault here
> ...
> pqsignal(SIGTERM, mystemSigterm);
> BackgroundWorkerUnblockSignals();
> ...
>
> What could be a reason and what am I doing wrong?
>
> PS test/modules/test_shm_mq works fine...
I'm no expert in C programming (or postgres, as it were), but
test/modules/test_shm_mq seems to call the function w/ only one
parameter, not two?
> --
> Best regards,
> Max Fomichev
Cheers,
Andrej