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

Reply via email to