2nd Version ...

see file ...

Greets
Jan-Simon


Index: src/core/Sync/SyncFile.cs
===================================================================
--- src/core/Sync/SyncFile.cs	(Revision 6842)
+++ src/core/Sync/SyncFile.cs	(Arbeitskopie)
@@ -96,7 +96,7 @@
 		{
 			try
 			{
-				//Log.log.Debug("Reading File {0} : offset = {1}", file, ReadPosition);
+				Log.log.Debug("Reading File {0} : offset = {1}", file, ReadPosition);
 				return workStream.Read(stream, count);
 			}
 			catch (Exception ex)
@@ -146,7 +146,7 @@
 			SetupFileNames(node, sessionID);
 			Log.log.Debug("Opening File {0}", file);
 			FileInfo fi = new FileInfo(file);
-			if (Store.IsEnterpriseServer || fi.Length > (1024 * 100000))
+			if (Store.IsEnterpriseServer || fi.Length > (1024 * 1000))
 			{
 				workStream = new StreamStream(File.Open(file, FileMode.Open, FileAccess.Read, FileShare.Read));
 				workFile = null;
Index: src/core/Sync/StreamStream.cs
===================================================================
--- src/core/Sync/StreamStream.cs	(Revision 6842)
+++ src/core/Sync/StreamStream.cs	(Arbeitskopie)
@@ -40,7 +40,8 @@
 		static int				buffSize = 1024 * 64;
 		AutoResetEvent			writeComplete = new AutoResetEvent(true);
 		Exception				exception;
-
+		AutoResetEvent			allComplete = new AutoResetEvent(true);
+		int				myinstance = 0;
 		private static readonly ISimiasLog log = SimiasLogManager.GetLogger(typeof(StreamStream));
 
 			
@@ -203,6 +204,13 @@
 		/// <returns>The number of bytes read.</returns>
 		public int Read(Stream outStream, int count)
 		{
+			AutoResetEvent[] eventArray = new AutoResetEvent[2];
+			eventArray[0] = allComplete;
+			eventArray[1] = writeComplete;
+			WaitHandle.WaitAll(eventArray);
+			writeComplete.Set();
+
+
 			wStream = outStream;
 			int bytesLeft = count;
 			while(bytesLeft > 0)
@@ -221,6 +229,7 @@
 			}
 			writeComplete.WaitOne();
 			writeComplete.Set();
+			allComplete.Set();
 			wStream = null;
 			return count - bytesLeft;
 		}
_______________________________________________
ifolder-dev mailing list
[email protected]
http://forge.novell.com/mailman/listinfo/ifolder-dev

Reply via email to