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@mds:~$ sudo ./a.out
> The values received are 1000 5000 100 500 HelloWorld
> shrikanth@mds:~$ sudo ./a.out
> Error in Receiving
> The values received are -1052453120 32596 1 0
> shrikanth@mds:~$ sudo ./a.out
> The values received are 1000 5000 100 500 HelloWorld
> shrikanth@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

Attachment: signature.asc
Description: This is a digitally signed message part

_______________________________________________
zeromq-dev mailing list
zeromq-dev@lists.zeromq.org
https://lists.zeromq.org/mailman/listinfo/zeromq-dev

Reply via email to