locks update

This commit is contained in:
Madpeterz 2021-02-25 07:24:42 +00:00
parent 88b822fc6f
commit 427ab32fc3
2 changed files with 42 additions and 27 deletions

View file

@ -77,7 +77,7 @@ namespace BetterSecondbot.DataStorage
working.lastupdated = helpers.UnixTimeNow();
foreach(UUID av in e.Banned)
{
working.banned.Add(av,controler.Bot.FindAvatarKey2Name(av));
working.banned.Add(av,"lookup"); // controler.Bot.FindAvatarKey2Name(av)
}
working.regionname = controler.Bot.GetClient.Network.CurrentSim.Name;
controler.Bot.UpdateSimBlacklist(working);

View file

@ -166,22 +166,38 @@ namespace BetterSecondbot.Tracking
{
if (UUID.TryParse(av.ToString(), out UUID avuuid) == true)
{
lock (AvatarSeen)
string name = controler.Bot.FindAvatarKey2Name(avuuid);
int loop = 0;
while((loop < 8) && (name == "lookup"))
{
if (AvatarSeen.ContainsKey(avuuid) == false)
{
string name = controler.Bot.FindAvatarKey2Name(avuuid);
int loop = 0;
while((loop < 8) && (name == "lookup"))
{
Thread.Sleep(500);
name = controler.Bot.FindAvatarKey2Name(avuuid);
loop++;
}
output(avuuid, "entry###" + name);
AvatarSeen.Add(avuuid, 0);
}
AvatarSeen[avuuid] = helpers.UnixTimeNow();
Thread.Sleep(500);
name = controler.Bot.FindAvatarKey2Name(avuuid);
loop++;
}
output(avuuid, "entry###" + name);
addToSeen(avuuid);
}
}
protected void addToSeen(UUID av)
{
lock (AvatarSeen)
{
if (AvatarSeen.ContainsKey(av) == false)
{
AvatarSeen.Add(av, 0);
}
AvatarSeen[av] = helpers.UnixTimeNow();
}
}
protected void removeFromSeen(UUID av)
{
lock (AvatarSeen)
{
if (AvatarSeen.ContainsKey(av) == true)
{
AvatarSeen.Remove(av);
}
}
}
@ -192,22 +208,21 @@ namespace BetterSecondbot.Tracking
{
if (AvatarSeen.ContainsKey(avuuid) == true)
{
lock (AvatarSeen)
string name = controler.Bot.FindAvatarKey2Name(avuuid);
int loop = 0;
while ((loop < 8) && (name == "lookup"))
{
Thread.Sleep(500);
name = controler.Bot.FindAvatarKey2Name(avuuid);
loop++;
}
if (AvatarSeen.ContainsKey(avuuid) == true)
{
string name = controler.Bot.FindAvatarKey2Name(avuuid);
int loop = 0;
while ((loop < 8) && (name == "lookup"))
{
Thread.Sleep(500);
name = controler.Bot.FindAvatarKey2Name(avuuid);
loop++;
}
output(avuuid, "exit###" + name + "~#~" + AvatarSeen[avuuid].ToString());
AvatarSeen.Remove(avuuid);
removeFromSeen(avuuid);
}
}
}
}