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(); working.lastupdated = helpers.UnixTimeNow();
foreach(UUID av in e.Banned) 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; working.regionname = controler.Bot.GetClient.Network.CurrentSim.Name;
controler.Bot.UpdateSimBlacklist(working); controler.Bot.UpdateSimBlacklist(working);

View file

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