mirror of
https://github.com/jlu5/PyLink.git
synced 2024-11-01 09:19:23 +01:00
Merge branches 'master' and 'wip/relay-fixes' into devel
This commit is contained in:
commit
fab404f8d6
@ -153,8 +153,8 @@ def loadDB():
|
|||||||
try:
|
try:
|
||||||
with open(dbname, "rb") as f:
|
with open(dbname, "rb") as f:
|
||||||
db = pickle.load(f)
|
db = pickle.load(f)
|
||||||
except (ValueError, IOError):
|
except (ValueError, IOError, OSError):
|
||||||
log.exception("Relay: failed to load links database %s"
|
log.info("Relay: failed to load links database %s"
|
||||||
", creating a new one in memory...", dbname)
|
", creating a new one in memory...", dbname)
|
||||||
db = {}
|
db = {}
|
||||||
|
|
||||||
@ -172,7 +172,7 @@ def scheduleExport(starting=False):
|
|||||||
global exportdb_timer
|
global exportdb_timer
|
||||||
|
|
||||||
if not starting:
|
if not starting:
|
||||||
# Export the datbase, unless this is being called the first
|
# Export the database, unless this is being called the first
|
||||||
# thing after start (i.e. DB has just been loaded).
|
# thing after start (i.e. DB has just been loaded).
|
||||||
exportDB()
|
exportDB()
|
||||||
|
|
||||||
@ -225,7 +225,6 @@ def getRemoteSid(irc, remoteirc):
|
|||||||
except ValueError: # Network not initialized yet.
|
except ValueError: # Network not initialized yet.
|
||||||
log.exception('(%s) Failed to spawn server for %r:',
|
log.exception('(%s) Failed to spawn server for %r:',
|
||||||
irc.name, remoteirc.name)
|
irc.name, remoteirc.name)
|
||||||
irc.disconnect()
|
|
||||||
return
|
return
|
||||||
else:
|
else:
|
||||||
irc.servers[sid].remote = remoteirc.name
|
irc.servers[sid].remote = remoteirc.name
|
||||||
@ -1155,6 +1154,7 @@ def handle_disconnect(irc, numeric, command, args):
|
|||||||
"""Handles IRC network disconnections (internal hook)."""
|
"""Handles IRC network disconnections (internal hook)."""
|
||||||
# Quit all of our users' representations on other nets, and remove
|
# Quit all of our users' representations on other nets, and remove
|
||||||
# them from our relay clients index.
|
# them from our relay clients index.
|
||||||
|
with spawnlocks[irc.name]:
|
||||||
for k, v in relayusers.copy().items():
|
for k, v in relayusers.copy().items():
|
||||||
if irc.name in v:
|
if irc.name in v:
|
||||||
del relayusers[k][irc.name]
|
del relayusers[k][irc.name]
|
||||||
@ -1166,6 +1166,7 @@ def handle_disconnect(irc, numeric, command, args):
|
|||||||
pass
|
pass
|
||||||
# SQUIT all relay pseudoservers spawned for us, and remove them
|
# SQUIT all relay pseudoservers spawned for us, and remove them
|
||||||
# from our relay subservers index.
|
# from our relay subservers index.
|
||||||
|
with spawnlocks_servers[irc.name]:
|
||||||
for name, ircobj in world.networkobjects.copy().items():
|
for name, ircobj in world.networkobjects.copy().items():
|
||||||
if name != irc.name and ircobj.connected.is_set():
|
if name != irc.name and ircobj.connected.is_set():
|
||||||
try:
|
try:
|
||||||
|
Loading…
Reference in New Issue
Block a user