From 171f8b63fd67d4f684c08a4835230d36be7e9db8 Mon Sep 17 00:00:00 2001 From: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com> Date: Tue, 6 May 2025 00:19:24 +0000 Subject: [PATCH] Replace RLock with threading.Lock to fix pickling issues Co-Authored-By: Joe Moura --- src/crewai/knowledge/source/base_file_knowledge_source.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/crewai/knowledge/source/base_file_knowledge_source.py b/src/crewai/knowledge/source/base_file_knowledge_source.py index 8acc8750a..e95a3a24b 100644 --- a/src/crewai/knowledge/source/base_file_knowledge_source.py +++ b/src/crewai/knowledge/source/base_file_knowledge_source.py @@ -1,7 +1,7 @@ import os +import threading from abc import ABC, abstractmethod from pathlib import Path -from threading import RLock from typing import Dict, List, Optional, Union from pydantic import Field, field_validator @@ -30,7 +30,7 @@ class BaseFileKnowledgeSource(BaseKnowledgeSource, ABC): """ _logger: Logger = Logger(verbose=True) - _lock = RLock() # Thread-safe lock for file operations + _lock = threading.Lock() # Thread-safe lock for file operations file_path: Optional[Union[Path, List[Path], str, List[str]]] = Field( default=None,