You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

41 lines
665 B

/*
* Copyright (c) 2017 - present Facebook, Inc.
* All rights reserved.
*
* This source code is licensed under the BSD style license found in the
* LICENSE file in the root directory of this source tree. An additional grant
* of patent rights can be found in the PATENTS file in the same directory.
*/
#include <mutex>
namespace reporting {
struct X {
int w;
X* x1;
};
class Basic {
public:
Basic() {}
void test(X& xparam) { xparam.x1->w++; }
void call1() {
test(x); // race
}
int test_lock() {
mutex_.lock();
call1();
}
int test_unlock() { call1(); }
private:
X x;
std::mutex mutex_;
};
} // namespace reporting