Merge pull request #4850 from ReinUsesLisp/fiber-ptr-ref
common/fiber: Take shared_ptr<Fiber> by copy in YieldTo
This commit is contained in:
		
						commit
						a1f176ce52
					
				| @ -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); | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user
	 LC
						LC