From 5a5b3adb151bd19faae58d45296be0d0e0183734 Mon Sep 17 00:00:00 2001 From: "chleun.moon" Date: Mon, 27 Mar 2017 15:27:53 +0900 Subject: [PATCH] Fix memory leak Change-Id: I030f3941301c4296c8b699efcba4df8e37c7922e Signed-off-by: cheoleun --- Tizen.Network.WiFi/Tizen.Network.WiFi/WiFiAP.cs | 6 ++++++ Tizen.Network.WiFi/Tizen.Network.WiFi/WiFiManagerImpl.cs | 16 +++++++++++----- packaging/csapi-network-wifi.spec | 2 +- 3 files changed, 18 insertions(+), 6 deletions(-) diff --git a/Tizen.Network.WiFi/Tizen.Network.WiFi/WiFiAP.cs b/Tizen.Network.WiFi/Tizen.Network.WiFi/WiFiAP.cs index ab275af..b580c79 100755 --- a/Tizen.Network.WiFi/Tizen.Network.WiFi/WiFiAP.cs +++ b/Tizen.Network.WiFi/Tizen.Network.WiFi/WiFiAP.cs @@ -142,6 +142,7 @@ namespace Tizen.Network.WiFi /// public void Refresh() { + Log.Debug(Globals.LogTag, "Refresh"); int ret = Interop.WiFi.AP.Refresh(_apHandle); if (ret != (int)WiFiError.None) { @@ -156,6 +157,7 @@ namespace Tizen.Network.WiFi /// A task indicating whether the Connect method is done or not. public Task ConnectAsync() { + Log.Debug(Globals.LogTag, "ConnectAsync"); TaskCompletionSource task = new TaskCompletionSource(); IntPtr id; lock (_callback_map) @@ -191,6 +193,7 @@ namespace Tizen.Network.WiFi /// A task indicating whether the ConnectByWpsPbs method is done or not. public Task ConnectByWpsPbcAsync() { + Log.Debug(Globals.LogTag, "ConnectByWpsPbcAsync"); TaskCompletionSource task = new TaskCompletionSource(); IntPtr id; lock (_callback_map) @@ -227,6 +230,7 @@ namespace Tizen.Network.WiFi /// The WPS PIN is a non-null string with length greater than 0 and less than or equal to 8. public Task ConnectByWpsPinAsync(string pin) { + Log.Debug(Globals.LogTag, "ConnectByWpsPinAsync"); TaskCompletionSource task = new TaskCompletionSource(); IntPtr id; lock (_callback_map) @@ -262,6 +266,7 @@ namespace Tizen.Network.WiFi /// A task indicating whether the Disconnect method is done or not. public Task DisconnectAsync() { + Log.Debug(Globals.LogTag, "DisconnectAsync"); TaskCompletionSource task = new TaskCompletionSource(); IntPtr id; lock (_callback_map) @@ -297,6 +302,7 @@ namespace Tizen.Network.WiFi /// public void RemoveAP() { + Log.Debug(Globals.LogTag, "RemoveAP"); int ret = Interop.WiFi.RemoveAP(WiFiManagerImpl.Instance.GetSafeHandle(), _apHandle); if (ret != (int)WiFiError.None) { diff --git a/Tizen.Network.WiFi/Tizen.Network.WiFi/WiFiManagerImpl.cs b/Tizen.Network.WiFi/Tizen.Network.WiFi/WiFiManagerImpl.cs index 5ced4a4..2472463 100755 --- a/Tizen.Network.WiFi/Tizen.Network.WiFi/WiFiManagerImpl.cs +++ b/Tizen.Network.WiFi/Tizen.Network.WiFi/WiFiManagerImpl.cs @@ -33,7 +33,6 @@ namespace Tizen.Network.WiFi internal HandleHolder() { - Log.Debug(Globals.LogTag, "HandleHolder() Constructor"); _handle = WiFiManagerImpl.Instance.Initialize(); Log.Debug(Globals.LogTag, "Handle: " + _handle); } @@ -122,7 +121,6 @@ namespace Tizen.Network.WiFi { get { - Log.Debug(Globals.LogTag, "Instance getter"); if (_instance == null) { Log.Debug(Globals.LogTag, "Instance is null"); @@ -145,13 +143,12 @@ namespace Tizen.Network.WiFi internal Interop.WiFi.SafeWiFiManagerHandle GetSafeHandle() { - Log.Debug(Globals.LogTag, "GetHandle, Thread Id = " + Thread.CurrentThread.ManagedThreadId); return s_threadName.Value.GetSafeHandle(); } internal Interop.WiFi.SafeWiFiManagerHandle Initialize() { - Interop.WiFi.SafeWiFiManagerHandle handle = new Interop.WiFi.SafeWiFiManagerHandle(); + Interop.WiFi.SafeWiFiManagerHandle handle; int ret = Interop.WiFi.Initialize(out handle); if (ret != (int)WiFiError.None) { @@ -163,6 +160,7 @@ namespace Tizen.Network.WiFi internal IEnumerable GetFoundAPs() { + Log.Debug(Globals.LogTag, "GetFoundAPs"); List apList = new List(); Interop.WiFi.HandleCallback callback = (IntPtr apHandle, IntPtr userData) => { @@ -189,6 +187,7 @@ namespace Tizen.Network.WiFi internal IEnumerable GetFoundSpecificAPs() { + Log.Debug(Globals.LogTag, "GetFoundSpecificAPs"); List apList = new List(); Interop.WiFi.HandleCallback callback = (IntPtr apHandle, IntPtr userData) => { @@ -216,6 +215,7 @@ namespace Tizen.Network.WiFi internal IEnumerable GetWiFiConfigurations() { + Log.Debug(Globals.LogTag, "GetWiFiConfigurations"); List configList = new List(); Interop.WiFi.HandleCallback callback = (IntPtr configHandle, IntPtr userData) => { @@ -242,6 +242,7 @@ namespace Tizen.Network.WiFi internal void SaveWiFiNetworkConfiguration(WiFiConfiguration config) { + Log.Debug(Globals.LogTag, "SaveWiFiNetworkConfiguration"); IntPtr configHandle = config.GetHandle(); int ret = Interop.WiFi.Config.SaveConfiguration(GetSafeHandle(), configHandle); if (ret != (int)WiFiError.None) @@ -253,8 +254,8 @@ namespace Tizen.Network.WiFi internal WiFiAP GetConnectedAP() { + Log.Debug(Globals.LogTag, "GetConnectedAP"); IntPtr apHandle; - int ret = Interop.WiFi.GetConnectedAP(GetSafeHandle(), out apHandle); if (ret != (int)WiFiError.None) { @@ -267,6 +268,7 @@ namespace Tizen.Network.WiFi internal Task ActivateAsync() { + Log.Debug(Globals.LogTag, "ActivateAsync"); TaskCompletionSource task = new TaskCompletionSource(); IntPtr id; lock (_callback_map) @@ -298,6 +300,7 @@ namespace Tizen.Network.WiFi internal Task ActivateWithWiFiPickerTestedAsync() { + Log.Debug(Globals.LogTag, "ActivateWithWiFiPickerTestedAsync"); TaskCompletionSource task = new TaskCompletionSource(); IntPtr id; lock (_callback_map) @@ -329,6 +332,7 @@ namespace Tizen.Network.WiFi internal Task DeactivateAsync() { + Log.Debug(Globals.LogTag, "DeactivateAsync"); TaskCompletionSource task = new TaskCompletionSource(); IntPtr id; lock (_callback_map) @@ -360,6 +364,7 @@ namespace Tizen.Network.WiFi internal Task ScanAsync() { + Log.Debug(Globals.LogTag, "ScanAsync"); TaskCompletionSource task = new TaskCompletionSource(); IntPtr id; lock (_callback_map) @@ -391,6 +396,7 @@ namespace Tizen.Network.WiFi internal Task ScanSpecificAPAsync(string essid) { + Log.Debug(Globals.LogTag, "ScanSpecificAPAsync " + essid); TaskCompletionSource task = new TaskCompletionSource(); IntPtr id; lock (_callback_map) diff --git a/packaging/csapi-network-wifi.spec b/packaging/csapi-network-wifi.spec index 6c76d55..b65fed7 100755 --- a/packaging/csapi-network-wifi.spec +++ b/packaging/csapi-network-wifi.spec @@ -1,6 +1,6 @@ Name: csapi-network-wifi Summary: Tizen Wi-Fi API for C# -Version: 1.0.9 +Version: 1.0.10 Release: 1 Group: Development/Libraries License: Apache-2.0 -- 2.7.4