[prev in list] [next in list] [prev in thread] [next in thread]
List: zeromq-dev
Subject: [zeromq-dev] zmq_disconnect and zmq_close fails
From: Laurent Alebarde <l.alebarde () free ! fr>
Date: 2014-01-30 18:25:05
Message-ID: 52EA9901.3020002 () free ! fr
[Download RAW message or body]
[Attachment #2 (multipart/alternative)]
Hi all,
I have a test that makes zmq_disconnect and zmq_close fail (in the frame
of developments on libzmq itself, but besides that, all tests pass).
*Test 1:*
void *worker = zmq_socket (ctx, ZMQ_DEALER);
assert (worker);
int linger_time = 100;
// rc = zmq_setsockopt (worker, ZMQ_LINGER, &linger_time,
sizeof(linger_time));
// assert (rc == 0);
rc = zmq_connect (worker, "inproc://backend");
assert (rc == 0);
// do some stuff
rc = zmq_disconnect (worker, "inproc://backend");
printf("Error: zmq_disconnect failed: %s (%d)\n",
zmq_strerror(errno), zmq_errno());
assert (rc == 0);
rc = zmq_connect (worker, "tcp://127.0.0.1:9999");
assert (rc == 0);
The output is:
Error: zmq_disconnect failed: Resource temporarily unavailable (11)
Moreover, if I suppress this zmq_disconnect command and execute the next
one which is a zmq_connect, it looks like it is not connected to the new
address.
*Test 2:*
void *worker = zmq_socket (ctx, ZMQ_DEALER);
assert (worker);
int linger_time = 100;
// rc = zmq_setsockopt (worker, ZMQ_LINGER, &linger_time,
sizeof(linger_time));
// assert (rc == 0);
rc = zmq_connect (worker, "inproc://backend");
assert (rc == 0);
// do some stuff
rc = zmq_close (worker);
printf("Error: zmq_disconnect failed: %s (%d)\n",
zmq_strerror(errno), zmq_errno());
assert (rc == 0);
void *worker = zmq_socket (ctx, ZMQ_DEALER);
assert (worker);
rc = zmq_connect (worker, "tcp://127.0.0.1:9999");
assert (rc == 0);
The output is:
Error: zmq_disconnect failed: Resource temporarily unavailable (11)
If I add some linger time to the worker socket, it changes nothing.
To what I could read, this errno = 11 indicates Resource Temporarily
Unavailable.
Any idea please ?
Laurent
[Attachment #5 (text/html)]
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1">
</head>
<body text="#000066" bgcolor="#FFFFFF">
<font face="Arial">Hi all,<br>
<br>
I have a test that makes zmq_disconnect and zmq_close fail (in the
frame of developments on libzmq itself, but besides that, all
tests pass). <br>
<br>
<br>
<b>Test 1:</b><br>
<font face="Courier"> void *worker = zmq_socket (ctx,
ZMQ_DEALER);<br>
assert (worker);<br>
int linger_time = 100;<br>
// rc = zmq_setsockopt (worker, ZMQ_LINGER, &linger_time,
sizeof(linger_time));<br>
// assert (rc == 0);<br>
rc = zmq_connect (worker, "inproc://backend");<br>
assert (rc == 0);<br>
<br>
// do some stuff<br>
<br>
rc = zmq_disconnect (worker, "inproc://backend");<br>
printf("Error: zmq_disconnect failed: %s (%d)\n",
zmq_strerror(errno), zmq_errno());<br>
assert (rc == 0);<br>
rc = zmq_connect (worker, "tcp://127.0.0.1:9999");<br>
assert (rc == 0);<br>
<br>
</font>The output is:<br>
</font><font face="Arial"><font face="Arial"><font face="Arial"><font
face="Courier New, Courier, monospace">Error: zmq_disconnect
failed: Resource temporarily unavailable (11)<br>
</font></font></font><br>
</font><font face="Arial">Moreover, if I suppress this
zmq_disconnect command and execute the next one which is a
zmq_connect, it looks like it is not connected to the new address.<br>
<br>
</font><font face="Arial"><font face="Arial"><b>Test 2:</b><br>
<font face="Courier"> void *worker = zmq_socket (ctx,
ZMQ_DEALER);<br>
assert (worker);<br>
int linger_time = 100;<br>
// rc = zmq_setsockopt (worker, ZMQ_LINGER,
&linger_time, sizeof(linger_time));<br>
// assert (rc == 0);<br>
rc = zmq_connect (worker, "inproc://backend");<br>
assert (rc == 0);<br>
<br>
// do some stuff<br>
<br>
rc = zmq_close (worker);<br>
printf("Error: zmq_disconnect failed: %s (%d)\n",
zmq_strerror(errno), zmq_errno());<br>
assert (rc == 0);<br>
void *worker = zmq_socket (ctx, ZMQ_DEALER);<br>
assert (worker);<br>
rc = zmq_connect (worker, "tcp://127.0.0.1:9999");<br>
assert (rc == 0);<br>
<br>
</font>The output is:<br>
<font face="Courier New, Courier, monospace">Error:
zmq_disconnect failed: Resource temporarily unavailable (11)<br>
</font><br>
<br>
I</font>f I add some linger time to the worker socket, it
changes nothing.<br>
<br>
To what I could read, this errno = 11 indicates Resource
Temporarily Unavailable.<br>
<br>
Any idea please ?<br>
<br>
Laurent<br>
<br>
<br>
</font>
</body>
</html>
_______________________________________________
zeromq-dev mailing list
zeromq-dev@lists.zeromq.org
http://lists.zeromq.org/mailman/listinfo/zeromq-dev
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic