From 36f141df7d7451330553e6031b3fa1464de2973a Mon Sep 17 00:00:00 2001 From: sungraejo Date: Tue, 20 Feb 2018 19:43:07 +0900 Subject: [PATCH] [Stt] Fix lock issue (#127) Signed-off-by: sungrae jo --- src/Tizen.Uix.Stt/Tizen.Uix.Stt/SttClient.cs | 23 +++++++++++++---------- 1 file changed, 13 insertions(+), 10 deletions(-) diff --git a/src/Tizen.Uix.Stt/Tizen.Uix.Stt/SttClient.cs b/src/Tizen.Uix.Stt/Tizen.Uix.Stt/SttClient.cs index 109921f..c057a86 100755 --- a/src/Tizen.Uix.Stt/Tizen.Uix.Stt/SttClient.cs +++ b/src/Tizen.Uix.Stt/Tizen.Uix.Stt/SttClient.cs @@ -767,17 +767,20 @@ namespace Tizen.Uix.Stt public IEnumerable GetDetailedResult() { List list = new List(); - _resultTimeDelegate = (IntPtr handle, int index, TimeEvent e, IntPtr text, IntPtr startTime, IntPtr endTime, IntPtr userData) => - { - _result = new ResultTime(index, e, Marshal.PtrToStringAnsi(text), (long)startTime, (long)endTime); - list.Add(_result); - return true; - }; - SttError error = SttForeachDetailedResult(_handle, _resultTimeDelegate, IntPtr.Zero); - if (error != SttError.None) + lock (thisLock) { - Log.Error(LogTag, "GetDetailedResult Failed with error " + error); - throw ExceptionFactory.CreateException(error); + _resultTimeDelegate = (IntPtr handle, int index, TimeEvent e, IntPtr text, IntPtr startTime, IntPtr endTime, IntPtr userData) => + { + _result = new ResultTime(index, e, Marshal.PtrToStringAnsi(text), (long)startTime, (long)endTime); + list.Add(_result); + return true; + }; + SttError error = SttForeachDetailedResult(_handle, _resultTimeDelegate, IntPtr.Zero); + if (error != SttError.None) + { + Log.Error(LogTag, "GetDetailedResult Failed with error " + error); + throw ExceptionFactory.CreateException(error); + } } return list; } -- 2.7.4