Skip to content

Commit 5609914

Browse files
committed
Add MsgId lock
1 parent c6d5fb4 commit 5609914

File tree

1 file changed

+8
-5
lines changed

1 file changed

+8
-5
lines changed

pyrogram/session/internals/msg_id.py

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616
# You should have received a copy of the GNU Lesser General Public License
1717
# along with Pyrogram. If not, see <http://www.gnu.org/licenses/>.
1818

19+
from threading import Lock
1920
from time import time
2021

2122

@@ -24,11 +25,13 @@ def __init__(self, delta_time: float = 0.0):
2425
self.delta_time = delta_time
2526
self.last_time = 0
2627
self.offset = 0
28+
self.lock = Lock()
2729

2830
def __call__(self) -> int:
29-
now = time()
30-
self.offset = self.offset + 4 if now == self.last_time else 0
31-
msg_id = int((now + self.delta_time) * 2 ** 32) + self.offset
32-
self.last_time = now
31+
with self.lock:
32+
now = time()
33+
self.offset = self.offset + 4 if now == self.last_time else 0
34+
msg_id = int((now + self.delta_time) * 2 ** 32) + self.offset
35+
self.last_time = now
3336

34-
return msg_id
37+
return msg_id

0 commit comments

Comments
 (0)