junk, complete and produce wrapped with same lock as warehouse.

This commit is contained in:
2024-04-20 16:52:24 -04:00
parent 6a72a83076
commit 364fb40e0b
2 changed files with 89 additions and 75 deletions
+10 -6
View File
@@ -14,10 +14,7 @@ import engine.loot.WorkOrder;
import engine.mbEnums;
import engine.net.DispatchMessage;
import engine.net.client.msg.ItemProductionMsg;
import engine.objects.Item;
import engine.objects.ItemTemplate;
import engine.objects.NPC;
import engine.objects.Warehouse;
import engine.objects.*;
import engine.powers.EffectsBase;
import org.pmw.tinylog.Logger;
@@ -108,6 +105,10 @@ public enum ForgeManager implements Runnable {
if (validation_result != 0)
return validation_result;
City city = workOrder.vendor.building.getCity();
city.transactionLock.writeLock().lock();
try {
// Configure this production run.
workOrder.workOrderID = wordOrderCounter.incrementAndGet();
@@ -137,8 +138,11 @@ public enum ForgeManager implements Runnable {
forge.add(workOrder);
Logger.info(workOrder.toString());
} catch (Exception e) {
Logger.error(e);
} finally {
city.transactionLock.writeLock().unlock();
}
return validation_result;
}