[zeromq-dev] Sending object pointers to threads using ZMQ_SEND over ZMQ_PAIR Socket

Luca Boccassi luca.boccassi at gmail.com
Tue Dec 20 14:10:38 CET 2016


On Tue, 2016-12-20 at 13:14 +0100, Shrikanth M.D. wrote:
> Hi,
> 
> I have tried a small piece of code as in here:
> http://pastebin.com/JUxXjYX2
> 
> 
> I am using ZEROMQ 4.1.5 library and running on Ubuntu 15.04.
> This is how I compile and execute the code:
>  gcc zeromq_example.c -o a.out -lzmq -lpthread
> 
> 
> 
> When I compile the example code in the link as sudo user, I am able to
> successfully receive
> the struct content on the thread side.
> However, occasionally I observe ZMQ_Receive  error. Is this because I am
> executing my program too quickly again in the second run?
> 
> Below is the output:
> shrikanth at mds:~$ sudo ./a.out
> The values received are 1000 5000 100 500 HelloWorld
> shrikanth at mds:~$ sudo ./a.out
> Error in Receiving
> The values received are -1052453120 32596 1 0
> shrikanth at mds:~$ sudo ./a.out
> The values received are 1000 5000 100 500 HelloWorld
> shrikanth at mds:~$
> 
> 
> Also, without sudo user, although buffer contents are received by the
> thread, it ends up with a segmentation fault (may be because of the memory
> access to struct sample within the struct example).
> 
> Could you please suggest a workaround for this situation?
> I do not want to serialize/de-serialize stuff between my main thread and
> worker thread.
> 
> Any kind of input is deeply appreciated.
> 
> Regards,
> Shrikanth

What you are trying to do is already implemented in CZMQ, so I would
recommend you to use that instead:

https://github.com/zeromq/czmq

zsock_send ("p", pointer)
zsock_recv ("p", &pointer)

Kind regards,
Luca Boccassi
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: This is a digitally signed message part
URL: <https://lists.zeromq.org/pipermail/zeromq-dev/attachments/20161220/1c130148/attachment.sig>


More information about the zeromq-dev mailing list