mirror of
https://github.com/zeromq/libzmq.git
synced 2024-12-31 01:43:02 +08:00
Merge pull request #794 from hintjens/master
Fixed use of deprecated tempnam
This commit is contained in:
commit
32f3fb490a
430
NEWS
430
NEWS
@ -1,3 +1,31 @@
|
||||
0MQ version 4.0.3 stable, released on 2013/11/24
|
||||
================================================
|
||||
|
||||
Bug Fixes
|
||||
---------
|
||||
|
||||
* Fixed test_many_sockets case, which failed when process socket limit
|
||||
was 1024.
|
||||
|
||||
|
||||
0MQ version 4.0.2 stable, released on 2013/11/24
|
||||
================================================
|
||||
|
||||
Bug Fixes
|
||||
---------
|
||||
|
||||
* Fixed LIBZMQ-583 - improved low-res timer for Windows
|
||||
* Fixed LIBZMQ-578 - z85_decode was extremely slow
|
||||
* Fixed LIBZMQ-577 - fault in man pages.
|
||||
* Fixed LIBZMQ-574 - assertion failure when ran out of system file handles
|
||||
* Fixed LIBZMQ-571 - test_stream failing in some cases
|
||||
* Fixed LIBZMQ-569 - Socket server crashes with random client data and when
|
||||
talking to 2.2 versions
|
||||
* Fixed LIBZMQ-39 - Bad file descriptor during shutdown
|
||||
* Pulled expected failing test_linger.cpp from release
|
||||
* Reduced pause time in tests to allow "make check" to run faster
|
||||
|
||||
|
||||
0MQ version 4.0.1 stable, released on 2013/10/08
|
||||
================================================
|
||||
|
||||
@ -493,7 +521,403 @@ Distribution
|
||||
or via apt-get.
|
||||
|
||||
|
||||
Older versions
|
||||
==============
|
||||
0MQ version 2.2.0 (Stable), released on 2012/04/04
|
||||
==================================================
|
||||
|
||||
* See NEWS in ZeroMQ 2.1.x repository at http://github.com/zeromq/zeromq2-1.
|
||||
Changes
|
||||
-------
|
||||
|
||||
* Fixed issue 349, add send/recv timeout socket options.
|
||||
|
||||
Bug fixes
|
||||
---------
|
||||
|
||||
* Fixed issue 301, fix builds on HP-UX 11iv3 when using either gcc or aCC.
|
||||
|
||||
* Fixed issue 305, memory leakage when using dynamic subscriptions.
|
||||
|
||||
* Fixed issue 332, libzmq doesn't compile on Android NDK.
|
||||
|
||||
* Fixed issue 293, libzmq doesn't follow ZMTP/1.0 spec.
|
||||
|
||||
* Fixed issue 342, cannot build against zmq.hpp under C++11.
|
||||
|
||||
|
||||
0MQ version 2.1.11 (Stable), released on 2011/12/18
|
||||
===================================================
|
||||
|
||||
Bug fixes
|
||||
---------
|
||||
|
||||
* Fixed issue 290, zmq_poll was using system time instead of monotonic
|
||||
clock (Mika Fischer).
|
||||
|
||||
* Fixed issue 281, crash on heavy socket creation - assertion failure in
|
||||
mutex.hpp:91. (Mika Fischer).
|
||||
|
||||
* Fixed issue 273, O_CLOEXEC flag used in ip.cpp:192 is supported only
|
||||
on Linux kernels 2.6.27+
|
||||
|
||||
* Fixed issue 261, assertion failure in kqueue.cpp:76.
|
||||
|
||||
* Fixed issue 269, faulty diagnostic code in 2.1.10.
|
||||
|
||||
* Fixed issue 254, assertion failure at tcp_socket.cpp:229 on ENOTCONN.
|
||||
|
||||
Changes
|
||||
-------
|
||||
|
||||
* Now builds properly on AIX 6.1 (AJ Lewis).
|
||||
|
||||
* Builds using libdcekt on HP-UX (AJ Lewis).
|
||||
|
||||
* New upstream OpenPGM maintenance release 5.1.118.
|
||||
|
||||
* Enabled debugging on assertion failure on Windows (Paul Betts).
|
||||
|
||||
|
||||
0MQ version 2.1.10 (Stable), released on 2011/10/03
|
||||
===================================================
|
||||
|
||||
Bug fixes
|
||||
---------
|
||||
|
||||
* Fixed issue 140, SWAP failed with assertion failure in pipe.cpp:187
|
||||
if the current directory was not writeable. Behavior now is to return
|
||||
-1 at zmq_setsockopt in this situation.
|
||||
|
||||
* Fixed issue 207, assertion failure in zmq_connecter.cpp:48, when an
|
||||
invalid zmq_connect() string was used, or the hostname could not be
|
||||
resolved. The zmq_connect() call now returns -1 in both those cases.
|
||||
|
||||
* Fixed issue 218, sockets not opened with SOCK_CLOEXEC, causing fork/exec
|
||||
to sit on sockets unnecessarily.
|
||||
|
||||
* Fixed issue 250, build errors on Windows (Mikko Koppanen).
|
||||
|
||||
* Fixed issue 252, assertion failure in req.cpp:87 and req.cpp:88 (Mikko
|
||||
Koppanen).
|
||||
|
||||
|
||||
0MQ version 2.1.9 (Stable), released on 2011/08/29
|
||||
==================================================
|
||||
|
||||
Bug fixes
|
||||
---------
|
||||
|
||||
* Fixed issue 240, assertion failure in pgm_socket.cpp:437.
|
||||
|
||||
* Fixed issue 238, assertion failure in zmq.cpp:655, when zmq_poll is
|
||||
used on an empty set, on Windows.
|
||||
|
||||
* Fixed issue 239, assertion failure in zmq.cpp:223, when ZMQ_SWAP was
|
||||
used with explicit identities and multiple SUB sockets.
|
||||
|
||||
* Fixed issue 236, zmq_send() and zmq_recv() did not always return
|
||||
error conditions such as EFSM properly. This bug was introduced in
|
||||
version 2.1.8 by the backport of changes for issue 231.
|
||||
|
||||
Building
|
||||
--------
|
||||
|
||||
* 0MQ support for Android added (Bill Roberts, Mikko Koppanen).
|
||||
|
||||
|
||||
0MQ version 2.1.8 (RC), released on 2011/07/28
|
||||
==============================================
|
||||
|
||||
Bug fixes
|
||||
---------
|
||||
|
||||
* Fixed issue 223, assertion failure in tcp_connecter.cpp:300 when
|
||||
connecting to a server that is on an unreachable network (errno is
|
||||
equal to ENETUNREACH).
|
||||
|
||||
* Fixed issue 228, assertion failure at rep.cpp:88 when HWM was reached.
|
||||
|
||||
* Fixed issue 231, assertion failure at mailbox.cpp:183 when too many
|
||||
pending socketpair operations were queued (major backport from 3.0).
|
||||
|
||||
* Fixed issue 234, assertion failure at mailbox.cpp:77 when Ctrl-C was
|
||||
used (only affected git master following backport for 231).
|
||||
|
||||
* Fixed issue 230, SIGPIPE killing servers when client disconnected, hit
|
||||
OS/X only.
|
||||
|
||||
Note: this release was renamed "release candidate" due to issue 236,
|
||||
fixed in 2.1.9.
|
||||
|
||||
|
||||
0MQ version 2.1.7 (Stable), released on 2011/05/12
|
||||
==================================================
|
||||
|
||||
Bug fixes
|
||||
---------
|
||||
|
||||
* Fixed issue 188, assert when closing socket that had unread multipart
|
||||
data still on it (affected PULL, SUB, ROUTER, and DEALER sockets).
|
||||
|
||||
* Fixed issue 191, message atomicity issue with PUB sockets (an old issue).
|
||||
|
||||
* Fixed issue 199 (affected ROUTER/XREP sockets, an old issue).
|
||||
|
||||
* Fixed issue 206, assertion failure in zmq.cpp:223, affected all sockets
|
||||
(bug was introduced in 2.1.6 as part of message validity checking).
|
||||
|
||||
* Fixed issue 211, REP socket asserted if sent malformed envelope (old issue
|
||||
due to abuse of assertions for error checking).
|
||||
|
||||
* Fixed issue 212, reconnect failing after resume from sleep on Windows
|
||||
(due to not handling WSAENETDOWN).
|
||||
|
||||
* Properly handle WSAENETUNREACH on Windows (e.g. if client connects
|
||||
before server binds).
|
||||
|
||||
* Fixed memory leak with threads on Windows.
|
||||
|
||||
Changes
|
||||
-------
|
||||
|
||||
* Checks zmq_msg_t validity at each operation.
|
||||
|
||||
* Inproc performance tests now work on Windows.
|
||||
|
||||
* PGM wire format specification improved in zmq_pgm(7)
|
||||
|
||||
* Added thread latency/throughput performance examples.
|
||||
|
||||
* Added "--with-system-pgm" configure option to use already installed
|
||||
OpenPGM.
|
||||
|
||||
* Runtime checking of socket and context validity, to catch e.g. using a
|
||||
socket after closing it, or passing an invalid pointer to context/socket
|
||||
methods.
|
||||
|
||||
* Test cases moved off port 5555, which conflicts with other services.
|
||||
|
||||
* Clarified zmq_poll man page that the resolution of the timeout is 1msec.
|
||||
|
||||
|
||||
0MQ version 2.1.6 (Broken), released on 2011/04/26
|
||||
==================================================
|
||||
|
||||
Note that this version contained a malformed patch and is not usable.
|
||||
It is not available for download, but is available in the git via the
|
||||
2.1.6 tag.
|
||||
|
||||
0MQ version 2.1.5 (Broken), released on 2011/04/20
|
||||
==================================================
|
||||
|
||||
Note that this version contained a malformed patch and is not usable.
|
||||
It is not available for download, but is available in the git via the
|
||||
2.1.5 tag.
|
||||
|
||||
|
||||
0MQ version 2.1.4 (Stable), released on 2011/03/30
|
||||
==================================================
|
||||
|
||||
Bug fixes
|
||||
---------
|
||||
|
||||
* Fix to OpenPGM which was asserting on small messages (Steven McCoy).
|
||||
|
||||
Changes
|
||||
-------
|
||||
|
||||
* Upgraded OpenPGM to version 5.1.115 (Pieter Hintjens).
|
||||
|
||||
* OpenPGM build changed to not install OpenPGM artifacts.
|
||||
|
||||
|
||||
0MQ version 2.1.3 (Stable), released on 2011/03/21
|
||||
==================================================
|
||||
|
||||
Bug fixes
|
||||
---------
|
||||
|
||||
* Fix to PUSH sockets, which would sometimes deliver tail frames of a
|
||||
multipart message to new subscribers (Martin Sustrik).
|
||||
|
||||
* Fix to PUB sockets, which would sometimes deliver tail frames of a
|
||||
multipart message to new subscribers (Martin Sustrik).
|
||||
|
||||
* Windows build was broken due to EPROTONOSUPPORT not being defined. This
|
||||
has now been fixed (Martin Sustrik).
|
||||
|
||||
* Various fixes to make OpenVMS port work (Brett Cameron).
|
||||
|
||||
* Corrected Reference Manual to note that ZMQ_LINGER socket option may be
|
||||
set at any time, not just before connecting/binding (Pieter Hintjens).
|
||||
|
||||
* Fix to C++ binding to properly close sockets (Guido Goldstein).
|
||||
|
||||
* Removed obsolete assert from pgm_socket.cpp (Martin Sustrik).
|
||||
|
||||
Changes
|
||||
-------
|
||||
|
||||
* Removed stand-alone devices (/devices subdirectory) from distribution.
|
||||
These undocumented programs remain available in older packages (Pieter
|
||||
Hintjens).
|
||||
|
||||
* OpenPGM default rate raised to 40mbps by default (Steven McCoy).
|
||||
|
||||
* ZMQ_DEALER and ZMQ_ROUTER macros provided to ease upgrade to 0MQ/3.0.
|
||||
These are scheduled to replace ZMQ_XREQ and ZMQ_XREP (Pieter Hintjens).
|
||||
|
||||
* Added man page for zmq_device(3) which was hereto undocumented (Pieter
|
||||
Hintjens).
|
||||
|
||||
* Removed zmq_queue(3), zmq_forwarder(3), zmq_streamer(3) man pages
|
||||
(Pieter Hintjens).
|
||||
|
||||
OpenPGM Integration
|
||||
-------------------
|
||||
|
||||
* Upgraded OpenPGM to version 5.1.114 (Steven McCoy, Mikko Koppanen).
|
||||
|
||||
* Build system now calls OpenPGM build process directly, allowing easier
|
||||
future upgrades of OpenPGM (Mikko Koppanen).
|
||||
|
||||
* Build system allows configuration with arbitrary versions of OpenPGM
|
||||
(./configure --with-pgm=libpgm-x.y.z) (Mikko Koppanen).
|
||||
|
||||
* OpenPGM uses new PGM_ODATA_MAX_RTE controlling original data instead of
|
||||
PGM_TXW_MAX_RTE covering entire channel (Steven McCoy).
|
||||
|
||||
Building
|
||||
--------
|
||||
|
||||
* 0MQ builds properly on FreeBSD (Mikko Koppanen).
|
||||
|
||||
|
||||
0MQ version 2.1.2 (rc2), released on 2011/03/06
|
||||
===============================================
|
||||
|
||||
Bug fixes
|
||||
---------
|
||||
|
||||
* 0MQ now correctly handles durable inproc sockets; previously it ignored
|
||||
explicit identities on inproc sockets.
|
||||
|
||||
* Various memory leaks were fixed.
|
||||
|
||||
* OpenPGM sender/receiver creation fixed.
|
||||
|
||||
|
||||
0MQ version 2.1.1 (rc1), released on 2011/02/23
|
||||
===============================================
|
||||
|
||||
New functionality
|
||||
-----------------
|
||||
|
||||
* New socket option ZMQ_RECONNECT_IVL_MAX added, allows for exponential
|
||||
back-off strategy when reconnecting.
|
||||
|
||||
* New socket option ZMQ_RECOVERY_IVL_MSEC added, as a fine-grained
|
||||
counterpart to ZMQ_RECOVERY_IVL (for multicast transports).
|
||||
|
||||
* If memory is exhausted, 0MQ warns with an explicit message before
|
||||
aborting the process.
|
||||
|
||||
* Size of inproc HWM and SWAP is sum of peers' HWMs and SWAPs (Douglas
|
||||
Greager, Martin Sustrik).
|
||||
|
||||
Bug fixes
|
||||
---------
|
||||
|
||||
* 0MQ no longer asserts in mailbox.cpp when multiple peers connect with
|
||||
the same identity.
|
||||
|
||||
* 0MQ no longer asserts when rejecting an oversized message.
|
||||
|
||||
* 0MQ no longer asserts in pipe.cpp when the swap fills up.
|
||||
|
||||
* zmq_poll now works correctly with an empty poll set.
|
||||
|
||||
* Many more.
|
||||
|
||||
Building
|
||||
--------
|
||||
|
||||
* 0MQ now builds correctly on CentOS, Debian 6, and SunOS/gcc3.
|
||||
|
||||
* Added WithOpenPGM configuration into MSVC builds.
|
||||
|
||||
Known issues
|
||||
------------
|
||||
|
||||
* OpenPGM integration is still not fully stable.
|
||||
|
||||
|
||||
0MQ version 2.1.0 (Beta), released on 2010/12/01
|
||||
================================================
|
||||
|
||||
New functionality
|
||||
-----------------
|
||||
|
||||
* New semantics for zmq_close () and zmq_term () ensure that all messages
|
||||
are sent before the application terminates. This behaviour may be
|
||||
modified using the new ZMQ_LINGER socket option; for further details
|
||||
refer to the reference manual.
|
||||
|
||||
* The new socket options ZMQ_FD and ZMQ_EVENTS provide a way to integrate
|
||||
0MQ sockets into existing poll/event loops.
|
||||
|
||||
* Sockets may now be migrated between OS threads, as long as the
|
||||
application ensures that a full memory barrier is issued.
|
||||
|
||||
* The 0MQ ABI exported by libzmq.so has been formalised; DSO symbol
|
||||
visibility is used on supported platforms to ensure that only public ABI
|
||||
symbols are exported. The library ABI version has been set to 1.0.0 for
|
||||
this release.
|
||||
|
||||
* OpenPGM has been updated to version 5.0.92. This version no longer
|
||||
depends on GLIB, and integration with 0MQ should be much improved.
|
||||
|
||||
* zmq_poll() now honors timeouts precisely, and no longer returns if no
|
||||
events are signaled.
|
||||
|
||||
* Blocking calls now return EINTR if interrupted by the delivery of a
|
||||
signal; this also means that language bindings which previously had
|
||||
problems with handling SIGINT/^C should now work correctly.
|
||||
|
||||
* The ZMQ_TYPE socket option was added; this allows retrieval of the socket
|
||||
type after creation.
|
||||
|
||||
* Added a ZMQ_VERSION macro to zmq.h for compile-time API version
|
||||
detection.
|
||||
|
||||
* The ZMQ_RECONNECT_IVL and ZMQ_BACKLOG socket options have been added.
|
||||
|
||||
Bug fixes
|
||||
---------
|
||||
|
||||
* Forwarder and streamer devices now handle multi-part messages correctly.
|
||||
|
||||
* 0MQ no longer asserts when malformed data is received on the wire.
|
||||
|
||||
* 0MQ internal timers now work correctly if the TSC jumps backwards.
|
||||
|
||||
* The internal signalling functionality (mailbox) has been improved
|
||||
to automatically resize socket buffers on POSIX systems.
|
||||
|
||||
* Many more.
|
||||
|
||||
Building
|
||||
--------
|
||||
|
||||
* 0MQ now builds correctly with many more non-GCC compilers (Sun Studio,
|
||||
Intel ICC, CLang).
|
||||
|
||||
* AIX and HP-UX builds should work now.
|
||||
|
||||
* FD_SETSIZE has been set to 1024 by default for MSVC builds.
|
||||
|
||||
* Windows builds using GCC (MinGW) now work out of the box.
|
||||
|
||||
Distribution
|
||||
------------
|
||||
|
||||
* A simple framework for regression tests has been added, along with a few
|
||||
basic self-tests. The tests can be run using "make check".
|
||||
|
@ -131,10 +131,11 @@ int zmq::ipc_listener_t::set_address (const char *addr_)
|
||||
std::string addr (addr_);
|
||||
|
||||
// Allow wildcard file
|
||||
if (addr[0] == '*') {
|
||||
char *tmpstr = tempnam (NULL, NULL);
|
||||
addr.assign (tmpstr);
|
||||
free (tmpstr);
|
||||
if (addr [0] == '*') {
|
||||
char buffer [12] = "2134XXXXXX";
|
||||
if (mkstemp (buffer) == -1)
|
||||
return -1;
|
||||
addr.assign (buffer);
|
||||
}
|
||||
|
||||
// Get rid of the file associated with the UNIX domain socket that
|
||||
|
Loading…
x
Reference in New Issue
Block a user