소스 검색

Fixed pointer bug

channel
Ludovic 'Archivist' Lagouardette 3 년 전
부모
커밋
fa2cffbb24
1개의 변경된 파일4개의 추가작업 그리고 4개의 파일을 삭제
  1. +4
    -4
      include/gp/pointers.hpp

+ 4
- 4
include/gp/pointers.hpp 파일 보기

@ -72,8 +72,11 @@ namespace gp {
shared_ptr(T* _data, gp::allocator& _owner)
: data(_data)
, refcounter((std::atomic_int)owner.allocate(sizeof(std::atomic_int)))
, owner(_owner)
{}
{
refcounter->store(1);
}
void dirty_clear() {
if(!refcounter) return;
@ -89,9 +92,6 @@ namespace gp {
template<typename ...U>
static shared_ptr make(gp::allocator& owner, U&&... args) {
auto ptr = owner.allocate(sizeof(T));
auto shared_atomic = owner.allocate(sizeof(std::atomic_int));
refcounter = new(shared_atomic) std::atomic_int();
refcounter->store(1);
return shared_ptr(new(ptr) T(gp::forward<U>(args)...), owner);
}

불러오는 중...
취소
저장