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