David, Well, I tried this code. First, removed the sleep(10) in the worker thread...
- it crashed once, duplicate free(). - client sometimes got 1 reply, sometimes 2 replies, sometimes 0 replies - sometimes, xrep.cpp reported (I added a trace) an unknown identity on send() - but mostly xrep.cpp didn't report any error and it still hung Then I reduced it to 1 worker and it still didn't run further. So is 10 workers really a minimal test case? I'll look at it further but please, strip it down until it really is minimal. You can: * bind to * instead of individual interfaces * use asserts around calls instead of error reporting (for a test) Also, explain what output we're *supposed* to see, because I'm guessing, which is pointless, that the client is supposed to get endless replies. -Pieter On Wed, Sep 8, 2010 at 11:31 PM, david starkweather <[email protected]> wrote: > Hello ! > > I managed to replicate the problem I've been having in this code > example. > > http://pastebin.com/5Lsy47Cj > > The top program is a req/rep server that fields multipart messages with > multiple threads and relays them to a sub socket in the main thread via > inproc pipes. There is then a custom forward loop at the end of main to > forward the messages to the main pub skt. > > The second program is a client app to send the messages to the server > program. > > The problem is occurring when it fails to publish the messages to the > subskt. Anyone have any ideas ? thanks. > > to compile: gcc -otestpub testpub.c -lzmq > > DGS. > > > > _______________________________________________ > zeromq-dev mailing list > [email protected] > http://lists.zeromq.org/mailman/listinfo/zeromq-dev > > -- - Pieter Hintjens iMatix - www.imatix.com _______________________________________________ zeromq-dev mailing list [email protected] http://lists.zeromq.org/mailman/listinfo/zeromq-dev
