Merge pull request #4850 from ReinUsesLisp/fiber-ptr-ref
common/fiber: Take shared_ptr<Fiber> by copy in YieldTo
This commit is contained in:
		@@ -91,7 +91,7 @@ void Fiber::Rewind() {
 | 
			
		||||
    SwitchToFiber(impl->rewind_handle);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void Fiber::YieldTo(std::shared_ptr<Fiber>& from, std::shared_ptr<Fiber>& to) {
 | 
			
		||||
void Fiber::YieldTo(std::shared_ptr<Fiber> from, std::shared_ptr<Fiber> to) {
 | 
			
		||||
    ASSERT_MSG(from != nullptr, "Yielding fiber is null!");
 | 
			
		||||
    ASSERT_MSG(to != nullptr, "Next fiber is null!");
 | 
			
		||||
    to->guard.lock();
 | 
			
		||||
@@ -199,7 +199,7 @@ void Fiber::Rewind() {
 | 
			
		||||
    boost::context::detail::jump_fcontext(impl->rewind_context, this);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void Fiber::YieldTo(std::shared_ptr<Fiber>& from, std::shared_ptr<Fiber>& to) {
 | 
			
		||||
void Fiber::YieldTo(std::shared_ptr<Fiber> from, std::shared_ptr<Fiber> to) {
 | 
			
		||||
    ASSERT_MSG(from != nullptr, "Yielding fiber is null!");
 | 
			
		||||
    ASSERT_MSG(to != nullptr, "Next fiber is null!");
 | 
			
		||||
    to->guard.lock();
 | 
			
		||||
 
 | 
			
		||||
@@ -46,7 +46,7 @@ public:
 | 
			
		||||
 | 
			
		||||
    /// Yields control from Fiber 'from' to Fiber 'to'
 | 
			
		||||
    /// Fiber 'from' must be the currently running fiber.
 | 
			
		||||
    static void YieldTo(std::shared_ptr<Fiber>& from, std::shared_ptr<Fiber>& to);
 | 
			
		||||
    static void YieldTo(std::shared_ptr<Fiber> from, std::shared_ptr<Fiber> to);
 | 
			
		||||
    [[nodiscard]] static std::shared_ptr<Fiber> ThreadToFiber();
 | 
			
		||||
 | 
			
		||||
    void SetRewindPoint(std::function<void(void*)>&& rewind_func, void* start_parameter);
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user