proxygen
Main Page
Related Pages
Namespaces
Classes
Files
Examples
File List
File Members
Atomic.h
Go to the documentation of this file.
1
/*
2
* Copyright 2016-present Facebook, Inc.
3
*
4
* Licensed under the Apache License, Version 2.0 (the "License");
5
* you may not use this file except in compliance with the License.
6
* You may obtain a copy of the License at
7
*
8
* http://www.apache.org/licenses/LICENSE-2.0
9
*
10
* Unless required by applicable law or agreed to in writing, software
11
* distributed under the License is distributed on an "AS IS" BASIS,
12
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
* See the License for the specific language governing permissions and
14
* limitations under the License.
15
*/
16
17
#pragma once
18
19
#ifdef _WIN32
20
21
#include <intrin.h>
22
#include <stdint.h>
23
24
#include <
folly/Portability.h
>
25
26
FOLLY_ALWAYS_INLINE
27
int64_t
__sync_fetch_and_add(
volatile
int64_t
*
ptr
,
int64_t
value
) {
28
return
_InterlockedExchangeAdd64(ptr, value);
29
}
30
31
#endif
ptr
void * ptr
Definition:
StaticSingletonManager.cpp:38
FOLLY_ALWAYS_INLINE
#define FOLLY_ALWAYS_INLINE
Definition:
CPortability.h:151
Portability.h
value
static const char *const value
Definition:
Conv.cpp:50
int64_t
int64_t
Definition:
ConstexprMathBenchmark.cpp:188
proxygen
folly
folly
portability
Atomic.h
Generated by
1.8.11