1. 09 Dec, 2019 1 commit
  2. 19 Jan, 2019 1 commit
    • Luca Boccassi's avatar
      Problem: atomic intrinsics unreliable on PPC64 and RISC-V · bfb4a868
      Luca Boccassi authored
      Solution: prefer CXX11 atomics if they are available to compiler
      intrinsics.
      test_hwm_pubsub fails 50% of the times on PPC64 and RISC-V with an
      apparent memory corruption of messages sent by the application thread
      to the I/O thread when using compiler intrinsics.
      Switching to CXX11 atomics makes the test reliable again. The
      standard API should be preferred anyway, if available.
      bfb4a868
  3. 23 Aug, 2018 1 commit
    • Aalhad Saraf's avatar
      Fix build failure on ARM due to bad variable name · 3f1f6285
      Aalhad Saraf authored
      The variable decrement was changed to decrement_
      in c581f43c
      
      In -one- place, it remained as decrement
      and gives:
      
      In file included from src/ctx.hpp:44:0,
      from src/address.cpp:33:
      src/atomic_counter.hpp: In member function 'bool zmq::atomic_counter_t::sub(zmq::atomic_counter_t::integer_t)':
      src/atomic_counter.hpp:191:28: error: 'decrement' was not declared in this scope
      
      Changing it to decrement_ fixes the problem.
      3f1f6285
  4. 10 Aug, 2018 1 commit
  5. 30 May, 2018 1 commit
  6. 27 May, 2018 1 commit
  7. 26 May, 2018 1 commit
  8. 13 Feb, 2018 1 commit
  9. 08 Feb, 2018 1 commit
  10. 02 Feb, 2018 1 commit
  11. 11 Aug, 2017 2 commits
    • Luca Boccassi's avatar
      Problem: SIGBUS on SPARC64 · e376c81c
      Luca Boccassi authored
      Solution: force the compiler to make the atomic_counter_t alignment
      friendly.
      This will ensure that the pointers inside the buffers allocated by
      shared_message_memory are aligned, at the cost of growing the memory
      size of atomic_counter_t from 4 to 8 bytes on 64 bit (when not using
      mutexes).
      Note that although content_t contains an atomic_counter_t, the
      compiler already padded the struct so there is no change in the
      buffer sizes used by the engines, save for the extra 4 bytes for the
      buffer's own single atomic counter.
      Fixes #2588
      e376c81c
    • Luca Boccassi's avatar
      Problem: C++11 atomic API never used · f0ae5e58
      Luca Boccassi authored
      Solution: remove requirement to manually define macro and just check
      for the C++ supported version.
      Note that compiler intrinsics still have priority if available, to
      avoid changes unless necessary.
      f0ae5e58
  12. 14 May, 2016 1 commit
  13. 28 Jan, 2016 1 commit
  14. 16 Jan, 2016 1 commit
  15. 02 Jul, 2015 1 commit
  16. 01 Jul, 2015 2 commits
  17. 03 Jun, 2015 1 commit
    • Jens Auer's avatar
      zero-copy message receive · e9b403a7
      Jens Auer authored
      Construct messages from a reference-counted buffer allocated once
      per receive instead of copying the data.
      e9b403a7
  18. 02 Jun, 2015 1 commit
  19. 28 Jan, 2015 1 commit
  20. 22 Jan, 2015 1 commit
  21. 02 Jan, 2014 1 commit
  22. 20 Mar, 2013 1 commit
  23. 12 Mar, 2013 1 commit
    • Pieter Hintjens's avatar
      Removed corporate advertisements from source file headers · f0f16505
      Pieter Hintjens authored
      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.
      f0f16505
  24. 24 Apr, 2012 1 commit
    • Patrick Trantham's avatar
      Implement atomic operations for armv7a · 135fdab0
      Patrick Trantham authored
      This commit implements atomic operations for the armv7a architecture
      using gcc inline assembly.  This offers higher performance compared to
      pthread mutexes.
      
      Tested on an am3517 evm, clocked at 600MHz:
      
      ./inproc_thr 200 1000000
      ------------------------
      53-60K messages / sec, pthread mutexes
      73-90K messages / sec, assembly atomic ops
      
      ./inproc_lat 200 1000000
      ------------------------
      average latency: 42.234 [us], pthread mutexes
      average latency: 35.496 [us], assembly atomic ops
      135fdab0
  25. 01 Nov, 2011 1 commit
  26. 31 Oct, 2011 1 commit
  27. 02 Mar, 2011 1 commit
  28. 13 Jan, 2011 1 commit
  29. 30 Oct, 2010 1 commit
  30. 12 May, 2010 1 commit
  31. 29 Apr, 2010 1 commit
  32. 18 Feb, 2010 1 commit
  33. 05 Jan, 2010 1 commit
  34. 10 Dec, 2009 1 commit
  35. 03 Aug, 2009 1 commit
  36. 29 Jul, 2009 1 commit