0
0
mirror of https://github.com/zeromq/libzmq.git synced 2025-01-02 03:08:04 +08:00

2384 Commits

Author SHA1 Message Date
Pieter Hintjens
7e129a405c Clarified zmq_msg_close not needed after zmq_msg_send 2013-04-27 14:53:14 +02:00
Pieter Hintjens
522765be1e Merge pull request #550 from JonDyte/iovec
Experimental function zmq_recviov doesnt work correctly in a couple of c...
2013-04-25 14:28:11 -07:00
Jon Dyte
56ead84490 Experimental function zmq_recviov doesnt work correctly in a couple of cases
1) VSM - you cannot hand out the 'data' address as it was not allocated on the heap
2) for other messages the 'data' address cannot be handed out either, as it not the address
originally returned by malloc and hence cannot be passed to 'free'.
see msg.cpp
u.lmsg.content = (content_t*) malloc (sizeof (content_t) + size_);
....
u.lmsg.content->data = u.lmsg.content + 1;

So the function is changed to always malloc a data buffer and copy the data into it.
There is a possible optimisation using memmove for the non-VSM case but that is not done yet.
2013-04-25 21:58:26 +01:00
Martin Hurton
0bf5a31494 Merge pull request #549 from methodmissing/sigpipe-declare-err
Fix return code redeclaration for platforms with SO_NOSIGPIPE
2013-04-23 17:20:04 -07:00
Lourens Naudé
b5e5e10126 Fix return code redeclaration for platforms with SO_NOSIGPIPE 2013-04-23 23:01:14 +01:00
Ian Barber
9703dd806a Merge pull request #548 from hintjens/master
Fixed issue LIBZMQ-526
2013-04-23 05:28:25 -07:00
Pieter Hintjens
710f38f1cc Fixed syntax error 2013-04-22 15:12:53 +02:00
Pieter Hintjens
f4dbccd4fb Fix for LIBZMQ-526 2013-04-22 14:51:09 +02:00
Martin Hurton
0880d5b8ed Merge pull request #547 from hintjens/master
Fixed issue LIBZMQ-525
2013-04-18 08:30:50 -07:00
Pieter Hintjens
f0cf4095b5 Fixed issue #525 - multipart upstreaming from xsub to xpub 2013-04-18 17:23:57 +02:00
Ian Barber
d0c58d2409 Merge pull request #546 from hintjens/master
Throughput perf test was borked, fixed it
2013-04-15 11:01:37 -07:00
Pieter Hintjens
9df7c70aba Cleaned up copyright statements in perftest tools 2013-04-15 18:50:42 +02:00
Pieter Hintjens
c980820d29 I'm reverting the various changes to the throughput test programs since as far
as I can see, these didn't work any more. At the very least, the command line
API was broken and forced the user to enter new, exotic arguments. Patches
should not break existing APIs. But also, the internals of these programs had
become weird.

If we want to build more complex performance tests, that's fine, but we should
make new programs, not break the old ones. We need minimal, safe performance
tests in 0MQ.

Also, the code was quite horrid. So it's gone. If anyone wants to bring it back
please make the code neat, and build new APIs instead of breaking the old ones.

Cheers
Pieter
2013-04-15 18:50:42 +02:00
Pieter Hintjens
67e02ca8bc Use of named authors on man pages is no longer a good idea since it puts off
contributors and doesn't reflect the real process. I've taken out all named
authors and referred to the contribution policy. Hopefully this will improve
the contributions to the man pages.
2013-04-15 18:50:42 +02:00
Pieter Hintjens
f4a07b3951 Merge pull request #545 from hurtonm/master
Interoperate with higher versions of ZMTP protocol
2013-04-14 14:27:32 -07:00
Martin Hurton
e52c436252 Interoperate with higher versions of ZMTP protocol 2013-04-14 22:59:50 +02:00
Pieter Hintjens
c5721f9988 Merge pull request #544 from steve-o/libzmq-446
[#LIBZMQ-446] Silence error on setting PGM_TOS on REL 4.
2013-04-13 02:55:02 -07:00
Steven McCoy
d079190efa [#LIBZMQ-446] Silence error on setting PGM_TOS due to some platforms raising an error at runtime. Noted are RHEL 4. 2013-04-12 23:55:04 -04:00
Pieter Hintjens
d2b5f1f49e Merge pull request #543 from steve-o/vc110_fix
MSVC local_thr & remote_thr dependency fix
2013-04-12 13:22:41 -07:00
Steven McCoy
a432ea14d2 Add vc80 project dependency on platform.hpp for local & remote throughput tests. 2013-04-12 11:59:24 -04:00
Steven McCoy
cd31f67a80 Add platform.hpp as project dependency to vc100 and vc110 projects for local & remote throughput tests. 2013-04-12 11:55:27 -04:00
Pieter Hintjens
a3713cb750 Merge pull request #542 from hurtonm/master
Use state functions for message flow
2013-04-12 07:02:04 -07:00
Martin Hurton
9d79ac2830 Use state functions for message flow
The patch makes the code somewhat simpler and prepares it for
more complex initialization handshakes.
2013-04-12 15:49:08 +02:00
Pieter Hintjens
fd42be9dba Merge pull request #541 from hurtonm/rework_message_flow
Refactor code so that messages go through engines
2013-04-11 09:57:54 -07:00
Martin Hurton
7942db7606 Refactor code so that messages go through engines 2013-04-11 18:52:51 +02:00
Ian Barber
91f1e13125 Merge pull request #540 from hintjens/master
Small clarification about connect and ROUTER
2013-04-11 03:10:38 -07:00
Pieter Hintjens
6d19e400f1 Added clarification about connect on ROUTER 2013-04-11 09:48:41 +02:00
Pieter Hintjens
c396144216 Merge pull request #539 from TTimo/master
Adds a needed Windows system library dependency
2013-04-08 06:33:29 -07:00
Timothee "TTimo" Besset
2aec837218 InitializeSecurityDescriptor needs Advapi32.lib 2013-04-07 12:44:48 -05:00
Timothee "TTimo" Besset
106d962311 restore fixed MSVC 2010 projects, fork new MSVC 2012 projects 2013-04-06 19:39:06 -05:00
Pieter Hintjens
b5ace90e8e Merge pull request #538 from TTimo/master
MSVC fixes
2013-04-01 03:09:42 -07:00
Timothee "TTimo" Besset
44df35cb1e Use Multithreaded DLL Runtime, Debug/Release accordingly - need consistency for the czmq configurations 2013-03-31 18:18:05 -05:00
Timothee "TTimo" Besset
5973b4c665 Windows friendly replacement for gettimeofday 2013-03-31 09:10:56 -05:00
Timothee "TTimo" Besset
574fe35b32 Fix MSVC project files. 2013-03-31 09:09:50 -05:00
Pieter Hintjens
1e7db60e9a Merge pull request #537 from TTimo/master
mingw32 fixes
2013-03-24 16:08:45 -07:00
Timothee Besset
f8e7d462a6 mingw32 fixes 2013-03-24 23:32:21 +01:00
Martin Hurton
01fef41575 Merge pull request #536 from hintjens/master
Fixed test_last_endpoint (#80)
2013-03-24 07:49:25 -07:00
Pieter Hintjens
257debf659 Removed IPC endpoint from test; not portable, and fragile (#80) 2013-03-24 15:12:34 +01:00
Ian Barber
09a00de803 Merge pull request #534 from hintjens/master
Reverted cleanups of copyrghts
2013-03-21 05:07:46 -07:00
Pieter Hintjens
5ba7445b7a Merge pull request #535 from ken-tilera/master
Optimize atomics implementaiton for the Tile architecture
2013-03-20 10:34:48 -07:00
Ken Steele
3286bf5ab6 On the Tile architecture, use atomic instructions for atomic ptr and counter.
For atomic_counter and atomic_ptr classes, detect the Tile architecture
using #if defined __tile__ matching ARM and Solaris and then use the
Tile atomic instructions. Without this change, the default Mutex
implementation is used, which is slower.
2013-03-20 12:54:38 -04:00
Pieter Hintjens
8c96deb900 Added corporate copyrights 2013-03-20 11:59:23 +01:00
Pieter Hintjens
39214b3e40 Merge pull request #533 from mika-fischer/workaround-for-496
Work around for LIBZMQ-496
2013-03-18 02:46:45 -07:00
Mika Fischer
03c28411d8 Work around for LIBZMQ-496
The problem is that other threads might still be in mailbox::send() when
it is destroyed. So as a workaround, we just acquire the mutex in the
destructor. Therefore the running send will finish before the mailbox is
destroyed.

See also the fix for LIBZMQ-281 in zeromq2-x.

Signed-off-by: Mika Fischer <mika.fischer@zoopnet.de>
2013-03-18 10:20:08 +01:00
Pieter Hintjens
3b132e337e Merge pull request #532 from hurtonm/pgm_build_fix
Update PGM with recent changes
2013-03-18 01:05:38 -07:00
Martin Hurton
81818401e8 Update PGM with recent changes 2013-03-18 02:14:20 +01:00
Pieter Hintjens
16f8ea3e95 Clarified HWM=0 means infinite 2013-03-17 11:30:49 +01:00
Pieter Hintjens
9ea20b82cc Merge pull request #531 from murrekatt/master
Fixed CMake building after encoder/decoder changes
2013-03-13 12:45:37 -07:00
Tommy Back
c69e79706e Fix to building libzmq with CMake as sub-project (git submodule). 2013-03-13 20:27:49 +01:00
Tommy Back
601eedb7f3 Updated CMake building to work after encoder/decoder changes. 2013-03-13 20:10:00 +01:00
Ian Barber
c7cb5ab7c0 Merge pull request #530 from hintjens/master
Fixed copyrights in sources
2013-03-12 14:00:20 -07:00
Pieter Hintjens
f1738b9b92 More copyright cleanups 2013-03-12 17:04:51 +01:00
Pieter Hintjens
0e77d65f12 Removed pointless comment 2013-03-12 16:15:54 +01:00
Pieter Hintjens
8358d4e832 Renamed ZMQ_DELAY_ATTACH_ON_CONNECT_COULD_THIS_BE_ANY_LONGER to ZMQ_IMMEDIATE 2013-03-12 16:11:19 +01:00
Pieter Hintjens
12c7db8c42 Code name clean up 2013-03-12 15:56:10 +01:00
Pieter Hintjens
d826c53b9b Bumped ZMTP revision to 2
* Starting draft ZMTP/2.1 protocol (revision 2)
* Basis for adding security to the wire protocol
* Maintains backward compatibility
2013-03-12 15:49:23 +01:00
Pieter Hintjens
785ef41f67 Refactored codecs to match ZMTP version numbers 2013-03-12 15:29:37 +01:00
Pieter Hintjens
f0f16505e5 Removed corporate advertisements from source file headers
Copyrights had become ads for Sustrik's corporate sponsors, going against the original
agreement to share copyrights with the community (that agreement was: one line stating
iMatix copyright + one reference to AUTHORS file). The proliferation of corporate ads
is also unfair to the many individual authors. I've removed ALL corporate title from
the source files so the copyright statements can now be centralized in AUTHORS and
source files can be properly updated on an annual basis.
2013-03-12 13:24:57 +01:00
Pieter Hintjens
cb69986d74 Comment change 2013-03-12 13:24:57 +01:00
Pieter Hintjens
898ad19851 It's its not it's 2013-03-12 13:24:57 +01:00
Pieter Hintjens
1810f1025f Merge pull request #529 from guidog/master
Adapted zmq_socket_monitor man page to new API.
2013-03-08 10:03:19 -08:00
Guido Goldstein
d78d4972ae Adapted man page to API. 2013-03-08 16:58:04 +01:00
Pieter Hintjens
ba2dda407d Merge pull request #528 from guidog/master
Changed message structure for event notifications
2013-03-08 05:21:25 -08:00
Guido Goldstein
b0b8ab27c5 Changed message structure for event notifications. 2013-03-08 13:48:18 +01:00
Pieter Hintjens
656258c1d4 Merge pull request #527 from guidog/master
Simplified zmq_event_t structure.
2013-03-08 02:24:46 -08:00
Guido Goldstein
21eeb03b6c Simplified the zmq_event_t structure for easier access and better usability towards language bindings. 2013-03-08 10:34:25 +01:00
Ian Barber
068909f444 Merge pull request #526 from breese/master
Fixed Linux compilation problem
2013-03-05 08:00:59 -08:00
Bjorn Reese
7e37cc8ed4 Linux build fails due to undeclared variable 2013-03-05 11:52:47 +01:00
Pieter Hintjens
be1160832e Merge pull request #525 from pijyoi/master
remote_thr.cpp: port pthreads usage to win32 api
2013-03-03 01:14:00 -08:00
KIU Shueng Chuan
679869d981 add simple Makefile to build with mingw32 2013-03-03 15:39:44 +08:00
KIU Shueng Chuan
3176509e60 include source directory version of zmq.h and zmq_utils.h
this follows what {local,remote}_lat.cpp and inproc_{thr,lat}.cpp do.
2013-03-03 15:28:00 +08:00
KIU Shueng Chuan
402f9fd243 remote_thr.cpp: port pthreads usage to win32 api 2013-03-03 15:18:54 +08:00
Ian Barber
f420f0aff7 Merge pull request #524 from dlittleton/master
Windows: Fix rounding error in now_us. [Jira LIBZMQ-514]
2013-02-28 14:14:31 -08:00
Duane Littleton
1e52a451d6 Windows: Fix rounding error when calculating now_us
Improve accuracy of time calculations and avoid division by zero when
ticksPerSecond.QuadPart < 1000000.
2013-02-27 13:53:07 -05:00
Pieter Hintjens
22d9d95dd2 Merge pull request #523 from ambitslix/perf
Improvements and fixes for performance of PUSH/PULL in local_thr and rem...
2013-02-26 12:33:26 -08:00
Attila Mark
a22714dd79 Improvements and fixes for performance of PUSH/PULL in local_thr and remote_thr.
- option to set number of zmq threads on the command line for local_thr
- option to set number of zmq_threads and workers in remote_thr
- option to set SND/RCV buffer sizes on command line
- option to set whether to PUSH/PULL on command line
- option to set to use zmq_recv or zmq_msg for transfer on command line
- better timing function
- corrected and improved throughput reporting
- HWM and DELAY socket options
2013-02-26 12:10:27 -08:00
Ian Barber
deb977345c Merge pull request #522 from hintjens/master
Fixed overflow in results calculation
2013-02-25 05:30:11 -08:00
Pieter Hintjens
066f3d2c9b Fixed overflow in local_thr results calculation 2013-02-25 14:13:15 +01:00
Ian Barber
fb45685aa8 Merge pull request #521 from SRombauts/master
Static Library Linking for Windows
2013-02-24 09:04:26 -08:00
Sebastien Rombauts
0ecc96bf33 Adding missing new ZeroMQ_Static.props and Static.props files
+ ignore StaticRelease & StaticDebug intermediate files
2013-02-24 16:17:20 +01:00
Sebastien Rombauts
b3bcd8e323 Static Library Linking for Windows
- New ZMQ_STATIC flag to enable "libzmq.lib" Windows static library (or "libzmq_d.lib" in Debug mode).
- ZMQ_STATIC needs also to be defined by projects using static linking against "libzmq.lib"
- New StaticDebug & StaticRelease configurations for libzmq Win32 projects under MSVC 2008 & 2010
- Tested with Visual Studio 2008 Express under Windows 7, and Visual Studio 2010 Express under Windows 8.
2013-02-24 15:44:14 +01:00
Pieter Hintjens
0434366088 Merge pull request #520 from xantares/master
Fixed module path with cmake < 2.8.3
2013-02-22 00:27:56 -08:00
Michel Zou
d17567626a Fixed module path with cmake < 2.8.3 2013-02-22 09:01:41 +01:00
Ian Barber
25dc715b7b Merge pull request #519 from SRombauts/master
Corrected linking error in MSVC 2010 build + perf/projects compilation
2013-02-20 11:45:14 -08:00
Ian Barber
897023c3c1 Merge pull request #518 from hintjens/master
Fixed MAXMSGSIZE setsockopt, which I'd broken
2013-02-20 11:44:22 -08:00
Sébastien Rombauts
a61535a23a VS2008 & VS2010: adding the pre-build command to copy platform.hpp in perf/ directory to the two appropriate projects, for each MSVC version 2013-02-20 16:08:18 +01:00
Pieter Hintjens
a85c9f45d1 MAXMSGSIZE broke when I cleaned up this code - fixed 2013-02-20 14:05:55 +01:00
Sébastien Rombauts
157bf4523e VS2010: adding another pre-build command to copy platform.hpp in perf/ directory 2013-02-19 22:16:40 +01:00
Sébastien Rombauts
23db53d0aa Corrected linking error in MSVC 2010 build
- raw_encoder.cpp and raw_decoder.cpp where missing in Visual Studio 2010 project
2013-02-19 22:01:50 +01:00
Pieter Hintjens
ccf2b9b466 Merge pull request #517 from SRombauts/master
Windows CE support : using standard _WIN32_WCE flag instead of WINCE
2013-02-19 10:31:26 -08:00
Sébastien Rombauts
57f84d6811 Windows CE support : some more #if !defined _WIN32_WCE
- Windows CE does not manage security attributes (no SetSecurityDescriptorDacl(), SetEvent (NULL, xxx) ...)
- Windows CE does not inheritance of sockets for child process (SetHandleInformation ((HANDLE) *w_, HANDLE_FLAG_INHERIT...)
- see comments about story "Porting ZeroMQ to Windows Mobile" on webpage http://www.zeromq.org/story:5
2013-02-19 18:57:12 +01:00
Sébastien Rombauts
05bb0ead54 Windows CE support : uncommenting #define EACCES needed
- tested for Windows CE 5.0 under Visual Studio 2008 Pro
- tested for Windows XP under Visual Studio 2008 Pro
2013-02-19 18:55:01 +01:00
Sébastien Rombauts
41d79bc19e Windows CE support : using standard _WIN32_WCE flag instead of WINCE
- when compiling for Windows CE, a C++ project must define the preprocessor definitions: UNDER_CE=$(CEVersion),_WIN32_WCE=$(CEVersion)
- choosing the "_WIN32_CE" form for uniformization with "_WIN32" and "_WIN32_WINNT" already used in libzmq (boost is using both forms)
- see http://msdn.microsoft.com/en-us/library/ee479161(v=winembedded.60).aspx
2013-02-19 16:49:23 +01:00
Pieter Hintjens
a5ef50141c Merge pull request #516 from SRombauts/master
Corrected some more linking errors in MSVC build
2013-02-19 05:33:42 -08:00
Sébastien Rombauts
927000fe2f Fixed 7 MSVC2008 Compiler Warning (level 3) C4800: 'const int' : forcing value to bool 'true' or 'false' (performance warning)
- added explicit test "(xxx != 0)" to get a "bool" value out of the "int" expression
- see the MSDN recommandation http://msdn.microsoft.com/en-us/library/b6801kcy(v=vs.90).aspx
2013-02-19 14:27:14 +01:00
Sébastien Rombauts
42be4d13a7 Corrected more linking error in MSVC build
- raw_encoder.cpp and raw_decoder.cpp in missing in MSVC project
2013-02-19 13:46:52 +01:00
Ian Barber
a8dfcb3c7d Merge pull request #515 from hintjens/master
Updated NEWS for 3.2.2 stable
2013-02-18 12:19:11 -08:00
Pieter Hintjens
e628421ed5 Updated NEWS for 3.2.2 stable 2013-02-18 21:14:14 +01:00
Pieter Hintjens
08be168dd0 Merge pull request #514 from pijyoi/fixcs
release critical section on failure to create signaler fdpair
2013-02-15 08:44:30 -08:00
KIU Shueng Chuan
8c71ac47e8 release critical section on failure to create signaler fdpair 2013-02-15 10:45:43 +08:00