mirror of
https://github.com/markqvist/Reticulum.git
synced 2026-04-27 22:25:37 +00:00
Ensure loop-originating closures have variables captured at iteration-time. Thanks @taprootmx!
This commit is contained in:
parent
2e6264c04b
commit
c9101a0c21
2 changed files with 5 additions and 5 deletions
|
|
@ -1177,7 +1177,7 @@ class Link:
|
|||
resource_hash = packet.data[0:RNS.Identity.HASHLENGTH//8]
|
||||
for resource in self.outgoing_resources:
|
||||
if resource_hash == resource.hash:
|
||||
def job(): resource.validate_proof(packet.data)
|
||||
def job(resource=resource): resource.validate_proof(packet.data)
|
||||
threading.Thread(target=job, daemon=True).start()
|
||||
self.__update_phy_stats(packet, query_shared=True)
|
||||
|
||||
|
|
|
|||
|
|
@ -1944,14 +1944,14 @@ class Transport:
|
|||
|
||||
if execute_callback:
|
||||
if len(inspect.signature(handler.received_announce).parameters) == 3:
|
||||
def job():
|
||||
def job(handler=handler, packet=packet, announce_identity=announce_identity):
|
||||
handler.received_announce(destination_hash=packet.destination_hash,
|
||||
announced_identity=announce_identity,
|
||||
app_data=RNS.Identity.recall_app_data(packet.destination_hash))
|
||||
threading.Thread(target=job, daemon=True).start()
|
||||
|
||||
elif len(inspect.signature(handler.received_announce).parameters) == 4:
|
||||
def job():
|
||||
def job(handler=handler, packet=packet, announce_identity=announce_identity):
|
||||
handler.received_announce(destination_hash=packet.destination_hash,
|
||||
announced_identity=announce_identity,
|
||||
app_data=RNS.Identity.recall_app_data(packet.destination_hash),
|
||||
|
|
@ -1959,7 +1959,7 @@ class Transport:
|
|||
threading.Thread(target=job, daemon=True).start()
|
||||
|
||||
elif len(inspect.signature(handler.received_announce).parameters) == 5:
|
||||
def job():
|
||||
def job(handler=handler, packet=packet, announce_identity=announce_identity):
|
||||
handler.received_announce(destination_hash=packet.destination_hash,
|
||||
announced_identity=announce_identity,
|
||||
app_data=RNS.Identity.recall_app_data(packet.destination_hash),
|
||||
|
|
@ -2976,7 +2976,7 @@ class Transport:
|
|||
elif type(interface) == RNS.Interfaces.LocalInterface.LocalClientInterface:
|
||||
local_interfaces.append(interface)
|
||||
else:
|
||||
def detach_job():
|
||||
def detach_job(interface=interface):
|
||||
RNS.log(f"Detaching {interface}", RNS.LOG_EXTREME)
|
||||
interface.detach()
|
||||
dt = threading.Thread(target=detach_job, daemon=False)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue