File tree Expand file tree Collapse file tree 1 file changed +4
-5
lines changed Expand file tree Collapse file tree 1 file changed +4
-5
lines changed Original file line number Diff line number Diff line change @@ -78,8 +78,7 @@ namespace details
78
78
typedef ::pplx::scoped_lock<_Spin_lock> _Scoped_spin_lock;
79
79
} // namespace details
80
80
81
-
82
- static std::shared_ptr<pplx::scheduler_interface> _M_Scheduler;
81
+ static std::shared_ptr<pplx::scheduler_interface> *_M_Scheduler;
83
82
static pplx::details::_Spin_lock _M_SpinLock;
84
83
85
84
_PPLXIMP std::shared_ptr<pplx::scheduler_interface> __cdecl get_ambient_scheduler ()
@@ -89,11 +88,11 @@ _PPLXIMP std::shared_ptr<pplx::scheduler_interface> __cdecl get_ambient_schedule
89
88
::pplx::details::_Scoped_spin_lock _Lock (_M_SpinLock);
90
89
if (!_M_Scheduler)
91
90
{
92
- _M_Scheduler = std::make_shared< ::pplx::default_scheduler_t >();
91
+ _M_Scheduler = new std::shared_ptr<pplx::scheduler_interface>(std:: make_shared< ::pplx::default_scheduler_t >() );
93
92
}
94
93
}
95
94
96
- return _M_Scheduler;
95
+ return * _M_Scheduler;
97
96
}
98
97
99
98
_PPLXIMP void __cdecl set_ambient_scheduler (std::shared_ptr<pplx::scheduler_interface> _Scheduler)
@@ -105,7 +104,7 @@ _PPLXIMP void __cdecl set_ambient_scheduler(std::shared_ptr<pplx::scheduler_inte
105
104
throw invalid_operation (" Scheduler is already initialized" );
106
105
}
107
106
108
- _M_Scheduler = _Scheduler;
107
+ _M_Scheduler = new std::shared_ptr<pplx::scheduler_interface>( std::move ( _Scheduler)) ;
109
108
}
110
109
111
110
} // namespace pplx
You can’t perform that action at this time.
0 commit comments