Benoît Labaere

Results 42 comments of Benoît Labaere

I created a multithreaded test and put the test runner inside a script loop. See libnanomsg https://github.com/blabaere/nanomsg.rs/tree/multithreadtest I found the following problems : - Sometime, the test runner would just...

Finally got one example where it would hang forever but let me debug it: #0 0x00007f51cf52c9b3 in epoll_wait () from /lib/x86_64-linux-gnu/libc.so.6 #1 0x00007f51d0049932 in nn_poller_wait (self=0x7f51d026c644, timeout=100) at src/aio/poller_epoll.inc:186 #2...

My bad, it looks like I should add some more sync between the tasks. To sum up, I feel like to make this work, one must make sure bind is...

That blog also uses sleep between bind and connect, in seconds: http://tim.dysinger.net/posts/2013-09-16-getting-started-with-nanomsg.html

It seems that thread-safety is bought with asynchronous behavior in some places. I will digg a little bit more. Le mar. 9 déc. 2014 22:37, Daniel Fagnan [email protected] a écrit...

Indeed, using barrier and sleep all over the place to ensure that bind/connect and send/receive correct timings fixes the problem where the test runner would hang forever. A call to...

Got it right this time ! The send/receive order issue I ~~saw~~ imagined was only the requirement to **not close the sender too early**, that is before the receiver ever...

To check the thread-safety of individual sockets, one should be shared between several tasks. But of course, Rust will not let you do that since all the read/write operations require...

I didn't think of that message split problem, but it must be fun to debug too. Another potential problem I see now is that nanomsg recycles the int values returned...

Your remark about the `Read` and `Write` traits is interesting, even without considering the multi-threading part. I remember we already had to fix a bug related to the way these...