1. 20 Jun, 2017 3 commits
  2. 19 Jun, 2017 1 commit
  3. 16 Jun, 2017 1 commit
  4. 15 Jun, 2017 1 commit
  5. 14 Jun, 2017 3 commits
  6. 13 Jun, 2017 3 commits
  7. 04 Jun, 2017 2 commits
  8. 19 May, 2017 2 commits
  9. 15 May, 2017 1 commit
  10. 10 May, 2017 3 commits
    • antirez's avatar
    • antirez's avatar
      Modules TSC: use atomic var for server.unixtime. · 1f598fc2
      antirez authored
      This avoids Helgrind complaining, but we are actually not using
      atomicGet() to get the unixtime value for now: too many places where it
      is used and given tha time_t is word-sized it should be safe in all the
      archs we support as it is.
      
      On the other hand, Helgrind, when Redis is compiled with "make helgrind"
      in order to force the __sync macros, will detect the write in
      updateCachedTime() as a read (because atomic functions are used) and
      will not complain about races.
      
      This commit also includes minor refactoring of mutex initializations and
      a "helgrind" target in the Makefile.
      1f598fc2
    • antirez's avatar
      atomicvar.h: show used API in INFO. Add macro to force __sync builtin. · de786186
      antirez authored
      The __sync builtin can be correctly detected by Helgrind so to force it
      is useful for testing. The API in the INFO output can be useful for
      debugging after problems are reported.
      de786186
  11. 09 May, 2017 3 commits
  12. 04 May, 2017 2 commits
  13. 03 May, 2017 8 commits
  14. 02 May, 2017 3 commits
  15. 28 Apr, 2017 3 commits
  16. 27 Apr, 2017 1 commit
    • antirez's avatar
      PSYNC2: fix master cleanup when caching it. · 469d6e2b
      antirez authored
      The master client cleanup was incomplete: resetClient() was missing and
      the output buffer of the client was not reset, so pending commands
      related to the previous connection could be still sent.
      
      The first problem caused the client argument vector to be, at times,
      half populated, so that when the correct replication stream arrived the
      protcol got mixed to the arugments creating invalid commands that nobody
      called.
      
      Thanks to @yangsiran for also investigating this problem, after
      already providing important design / implementation hints for the
      original PSYNC2 issues (see referenced Github issue).
      
      Note that this commit adds a new function to the list library of Redis
      in order to be able to reset a list without destroying it.
      
      Related to issue #3899.
      469d6e2b