diff --git a/src/Xamarin.Android.Build.Tasks/Tasks/Aapt.cs b/src/Xamarin.Android.Build.Tasks/Tasks/Aapt.cs index d72c1b423f4..3be2def229b 100644 --- a/src/Xamarin.Android.Build.Tasks/Tasks/Aapt.cs +++ b/src/Xamarin.Android.Build.Tasks/Tasks/Aapt.cs @@ -126,17 +126,19 @@ bool RunAapt (string commandLine, IList output) CreateNoWindow = true, WindowStyle = ProcessWindowStyle.Hidden, }; - + object lockObject = new object (); using (var proc = new Process ()) { proc.OutputDataReceived += (sender, e) => { if (e.Data != null) - output.Add (new OutputLine (e.Data, stdError: false)); + lock (lockObject) + output.Add (new OutputLine (e.Data, stdError: false)); else stdout_completed.Set (); }; proc.ErrorDataReceived += (sender, e) => { if (e.Data != null) - output.Add (new OutputLine (e.Data, stdError: true)); + lock (lockObject) + output.Add (new OutputLine (e.Data, stdError: true)); else stderr_completed.Set (); };