Hi,
I've cross compiled the 4.0.4 sources of zeromq for Microblaze using
both --with-poller=select and leaving the default setting (which is
epoll) and in both libraries I get a seg fault when tyring to bind to an
IPC socket. The linux version is 3.14.
Here is the code I'm trying to run:
context = zmq_ctx_new ();
publisher = zmq_socket (context, ZMQ_PUB);
rc = zmq_bind (publisher, "ipc://xpwrd.ipc");
assert (rc == 0);
Here's the stack for the select version
Thread [3] (Suspended: Signal 'SIGSEGV' received. Description:
Segmentation fault.)
6 <symbol is not available> 0x90078eb0
5 zmq::select_t::loop() select.cpp:197 0x48053a58
4 zmq::select_t::worker_routine() select.cpp:211 0x48053bc0
3 thread_routine() thread.cpp:81 0x480660cc
2 start_thread() pthread_create.c:314 0x48095180
1 clone() clone.S:65 0x483784ec
The offending line is
void zmq::select_t::loop ()
....
if (FD_ISSET (fds [i].fd, &readfds))
fds [i].events->in_event ();
}
I've tried stepping and it looks like in_event is not a function and it
jumps to an out of range address.
Any help is greatly appreciated.
-Martin.
_______________________________________________
zeromq-dev mailing list
[email protected]
http://lists.zeromq.org/mailman/listinfo/zeromq-dev