The "wait for server response" return value was short-circuiting the
"already done" value. The previous commit fixed always needing a new
instance, exposing this problem.
H'Uru PR #719 commit log:
commit 5f53b86494605c484c0b304e0a5ab15a07929106
Author: Adam Johnson <AdamJohnso@gmail.com>
Date: Fri Sep 4 07:38:15 2020 -0400
Fix an infinite loop in plDXPipeline.
This was observed in a 2x2 DXT1 mipmap produced by Korman. While Korman
should probably force such a thing to be uncompressed, the pipeline
should also not be able to enter such an obviously invalid state.
M Sources/Plasma/PubUtilLib/plPipeline/DX/plDXPipeline.cpp
Per testing on Minkata, suppressing callbacks during all vault downloads
has a deleterious effect on imagers. While my high level assumption is
correct, vault downloads can encompass situations where we want
notifications (eg re-downloading imager inbox folders, new age info
vault fragments). Whoops!
On MOULa, there have been complaints about linking to some Neighborhoods
and activating some players taking a very long time. One of these
Neighborhoods in particular is the "DRC(67) Bevin". When I attempted to
link to this Age, I found the link took approximately 85 seconds each
time. On profiling, I discovered that for every node downloaded during
the initialization phase, we were calling into Python at least once.
Suppressing vault callbacks during times when they are obviously going
to storm and be useless decreases the link time to 7 seconds.
H-uru:
From f45679a54f Mon Sep 17 00:00:00 2001
From: Adam Johnson <AdamJohnso@gmail.com>
Date: Sun, 15 Jan 2012 18:35:05 -0500
Subject: [PATCH] Make pyVault::AddChronicleEntry a blocking operation to avoid
a race condition