Advertisement
Guest User

folly membarrier patch

a guest
Aug 12th, 2016
352
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.17 KB | None | 0 0
  1. diff --git a/folly/portability/SysMembarrier.cpp b/folly/portability/SysMembarrier.cpp
  2. index 9a3d307..486ccf5 100644
  3. --- a/folly/portability/SysMembarrier.cpp
  4. +++ b/folly/portability/SysMembarrier.cpp
  5. @@ -24,6 +24,7 @@
  6.  
  7.  #if FOLLY_X64 && !FOLLY_MOBILE && defined(__linux__)
  8.  #define FOLLY_USE_SYS_MEMBARRIER 1
  9. +#include <linux/membarrier.h>
  10.  #if !defined(__NR_membarrier)
  11.  #define __NR_membarrier 324
  12.  #define MEMBARRIER_CMD_QUERY 0
  13. @@ -40,12 +41,12 @@ bool sysMembarrierAvailable() {
  14.    }
  15.  
  16.  #if FOLLY_USE_SYS_MEMBARRIER
  17. -  auto r = syscall(__NR_membarrier, MEMBARRIER_CMD_QUERY, /* flags = */ 0);
  18. +  auto r = syscall(__NR_membarrier, membarrier_cmd::MEMBARRIER_CMD_QUERY, /* flags = */ 0);
  19.    if (r == -1) {
  20.      return false;
  21.    }
  22.  
  23. -  return r & MEMBARRIER_CMD_SHARED;
  24. +  return r & membarrier_cmd::MEMBARRIER_CMD_SHARED;
  25.  #else
  26.    return false;
  27.  #endif
  28. @@ -53,7 +54,7 @@ bool sysMembarrierAvailable() {
  29.  
  30.  int sysMembarrier() {
  31.  #if FOLLY_USE_SYS_MEMBARRIER
  32. -  return syscall(__NR_membarrier, MEMBARRIER_CMD_SHARED, /* flags = */ 0);
  33. +  return syscall(__NR_membarrier, membarrier_cmd::MEMBARRIER_CMD_SHARED, /* flags = */ 0);
  34.  #else
  35.    return -1;
  36.  #endif
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement