All pastes #371702 Raw Edit

Mine

public text v1 · immutable
#371702 ·published 2007-02-25 15:57 UTC
rendered paste body
Index: opensim/src/Main.cs
===================================================================
--- opensim/src/Main.cs	(revision 73)
+++ opensim/src/Main.cs	(working copy)
@@ -134,7 +134,7 @@
 		 
 		Console.WriteLine("Main.cs:MainServerListener() - Listening..."); 
 		while(true) { 
-			 
+			Thread.Sleep(1000); 
 		} 
 	} 
     } 
Index: opensim/src/OpenSimClient.cs
===================================================================
--- opensim/src/OpenSimClient.cs	(revision 73)
+++ opensim/src/OpenSimClient.cs	(working copy)
@@ -80,14 +80,16 @@
 		} 
  
 		public void InPacket(Packet NewPack) { 
-			lock(PacketInbox) { 
+			lock(this) { 
 				PacketInbox.Enqueue(NewPack); 
+				Monitor.PulseAll(this); 
 			} 
 		} 
  
 		public void OutPacket(Packet NewPack) { 
-			lock(PacketOutbox) { 
+			lock(this) { 
 				PacketOutbox.Enqueue(NewPack); 
+				Monitor.PulseAll(this); 
 			} 
 		} 
  
@@ -104,24 +106,17 @@
 		 
 		private void ClientLoop() { 
 			Console.WriteLine("OpenSimClient.cs:ClientLoop() - Entered loop"); 
-			while(true) { 
-				lock(PacketInbox) { 
-					if(PacketInbox.Count>0) { 
+			lock(this) { 
+				while(true) { 
+					Monitor.Wait(this); 
+					while(PacketInbox.Count>0) { 
 						Packet InPack = (Packet)PacketInbox.Dequeue(); 
 						ProcessInPacket(InPack); 
-					} else { 
-						Thread.Sleep(100);		// yes, it's redundant, but it helps! 
 					} 
-					Monitor.Wait(PacketInbox); 
-				} 
-				lock(PacketOutbox) { 
-					if(PacketOutbox.Count>0) { 
+					while(PacketOutbox.Count>0) { 
 						Packet OutPack = (Packet)PacketOutbox.Dequeue(); 
 						ProcessOutPacket(OutPack); 
-					} else { 
-						Thread.Sleep(100); 
 					} 
-					Monitor.Wait(PacketOutbox); 
 				} 
 			} 
 		}