I don't think you allocated space for the buffer when you receive the
message:


   1. struct example *buffer;
   2.     int size = zmq_recv(receiver,buffer,sizeof(struct example),0);
   3.     if(size==-1)
   4.     {
   5.         printf("Error in Receiving \n");
   6.     }


buffer is an un-initialized pointer.  It should probably be like this:

struct example buffer;

int size = zmq_recv(receiver,&buffer,sizeof(buffer),0);



Mark


On Tue, Dec 20, 2016 at 6:14 AM, Shrikanth M.D. <shrikanthdiwa...@gmail.com>
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
>
> _______________________________________________
> zeromq-dev mailing list
> zeromq-dev@lists.zeromq.org
> https://lists.zeromq.org/mailman/listinfo/zeromq-dev
>
_______________________________________________
zeromq-dev mailing list
zeromq-dev@lists.zeromq.org
https://lists.zeromq.org/mailman/listinfo/zeromq-dev

Reply via email to