mirror of
https://github.com/henrypp/simplewall.git
synced 2026-10-21 18:43:09 -05:00
fix locks
This commit is contained in:
4 files changed
+22
-28
No files matched your search
+2
-8
@@ -235,8 +235,6 @@ bool _app_formataddress (ADDRESS_FAMILY af, UINT8 proto, const PVOID ptr_addr, U
|
||||
_app_freeobjects_map (cache_hosts, false);
|
||||
cache_hosts[addr_hash] = _r_obj_allocate (ptr_cache, &_app_dereferencestring);
|
||||
|
||||
_r_obj_reference (cache_hosts[addr_hash]);
|
||||
|
||||
_r_fastlock_releaseexclusive (&lock_cache);
|
||||
}
|
||||
}
|
||||
@@ -2745,7 +2743,7 @@ bool _app_parsenetworkstring (LPCWSTR network_string, NET_ADDRESS_FORMAT * forma
|
||||
_r_obj_dereference (ptr_cache_object);
|
||||
}
|
||||
|
||||
return *paddr_dns;
|
||||
return !_r_str_isempty (paddr_dns);
|
||||
}
|
||||
|
||||
rstring host = _app_parsehostaddress_dns (ni.NamedAddress.Address, port);
|
||||
@@ -2770,8 +2768,6 @@ bool _app_parsenetworkstring (LPCWSTR network_string, NET_ADDRESS_FORMAT * forma
|
||||
_app_freeobjects_map (cache_dns, false);
|
||||
cache_dns[dns_hash] = _r_obj_allocate (ptr_cache, &_app_dereferencestring);
|
||||
|
||||
_r_obj_reference (cache_dns[dns_hash]);
|
||||
|
||||
_r_fastlock_releaseexclusive (&lock_cache);
|
||||
}
|
||||
|
||||
@@ -3020,7 +3016,7 @@ bool _app_resolveaddress (ADDRESS_FAMILY af, LPVOID paddr, LPWSTR * pbuffer)
|
||||
LPWSTR pstraddr = nullptr;
|
||||
_app_formataddress (af, 0, paddr, 0, &pstraddr, FMTADDR_AS_ARPA);
|
||||
|
||||
if (pstraddr)
|
||||
if (!_r_str_isempty (pstraddr))
|
||||
{
|
||||
const size_t arpa_hash = _r_str_hash (pstraddr);
|
||||
|
||||
@@ -3068,8 +3064,6 @@ bool _app_resolveaddress (ADDRESS_FAMILY af, LPVOID paddr, LPWSTR * pbuffer)
|
||||
_app_freeobjects_map (cache_arpa, false);
|
||||
cache_arpa[arpa_hash] = _r_obj_allocate (ptr_cache, &_app_dereferencestring);
|
||||
|
||||
_r_obj_reference (cache_arpa[arpa_hash]);
|
||||
|
||||
_r_fastlock_releaseexclusive (&lock_cache);
|
||||
}
|
||||
}
|
||||
|
||||
+10
-10
@@ -3493,9 +3493,9 @@ INT_PTR CALLBACK DlgProc (HWND hwnd, UINT msg, WPARAM wparam, LPARAM lparam)
|
||||
|
||||
DragQueryFile ((HDROP)wparam, i, file, length);
|
||||
|
||||
_r_fastlock_acquireexclusive (&lock_access);
|
||||
_r_fastlock_acquireshared (&lock_access);
|
||||
app_hash = _app_addapplication (hwnd, file, 0, 0, 0, false, false, false);
|
||||
_r_fastlock_releaseexclusive (&lock_access);
|
||||
_r_fastlock_releaseshared (&lock_access);
|
||||
|
||||
SAFE_DELETE_ARRAY (file);
|
||||
}
|
||||
@@ -4995,9 +4995,9 @@ INT_PTR CALLBACK DlgProc (HWND hwnd, UINT msg, WPARAM wparam, LPARAM lparam)
|
||||
|
||||
if (files[ofn.nFileOffset - 1] != 0)
|
||||
{
|
||||
_r_fastlock_acquireexclusive (&lock_access);
|
||||
_r_fastlock_acquireshared (&lock_access);
|
||||
app_hash = _app_addapplication (hwnd, files, 0, 0, 0, false, false, false);
|
||||
_r_fastlock_releaseexclusive (&lock_access);
|
||||
_r_fastlock_releaseshared (&lock_access);
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -5011,9 +5011,9 @@ INT_PTR CALLBACK DlgProc (HWND hwnd, UINT msg, WPARAM wparam, LPARAM lparam)
|
||||
|
||||
if (*p)
|
||||
{
|
||||
_r_fastlock_acquireexclusive (&lock_access);
|
||||
_r_fastlock_acquireshared (&lock_access);
|
||||
app_hash = _app_addapplication (hwnd, _r_fmt (L"%s\\%s", dir, p), 0, 0, 0, false, false, false);
|
||||
_r_fastlock_releaseexclusive (&lock_access);
|
||||
_r_fastlock_releaseshared (&lock_access);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -5389,12 +5389,12 @@ INT_PTR CALLBACK DlgProc (HWND hwnd, UINT msg, WPARAM wparam, LPARAM lparam)
|
||||
|
||||
if (DialogBoxParam (nullptr, MAKEINTRESOURCE (IDD_EDITOR), hwnd, &EditorProc, (LPARAM)ptr_rule_object))
|
||||
{
|
||||
_r_fastlock_acquireexclusive (&lock_access);
|
||||
_r_fastlock_acquireshared (&lock_access);
|
||||
|
||||
const size_t rule_idx = rules_arr.size ();
|
||||
rules_arr.push_back (ptr_rule_object);
|
||||
|
||||
_r_fastlock_releaseexclusive (&lock_access);
|
||||
_r_fastlock_releaseshared (&lock_access);
|
||||
|
||||
const INT listview_rules_id = _app_getlistview_id (DataRuleCustom);
|
||||
|
||||
@@ -5596,9 +5596,9 @@ INT_PTR CALLBACK DlgProc (HWND hwnd, UINT msg, WPARAM wparam, LPARAM lparam)
|
||||
_app_timer_reset (hwnd, ptr_app);
|
||||
_app_freenotify (app_hash, ptr_app);
|
||||
|
||||
_r_fastlock_acquireexclusive (&lock_access);
|
||||
_r_fastlock_acquireshared (&lock_access);
|
||||
_app_freeapplication (app_hash);
|
||||
_r_fastlock_releaseexclusive (&lock_access);
|
||||
_r_fastlock_releaseshared (&lock_access);
|
||||
|
||||
_r_obj_dereferenceex (ptr_app_object, 2);
|
||||
}
|
||||
|
||||
@@ -1076,12 +1076,12 @@ INT_PTR CALLBACK NotificationProc (HWND hwnd, UINT msg, WPARAM wparam, LPARAM lp
|
||||
|
||||
if (DialogBoxParam (nullptr, MAKEINTRESOURCE (IDD_EDITOR), app.GetHWND (), &EditorProc, (LPARAM)ptr_rule_object))
|
||||
{
|
||||
_r_fastlock_acquireexclusive (&lock_access);
|
||||
_r_fastlock_acquireshared (&lock_access);
|
||||
|
||||
const size_t rule_idx = rules_arr.size ();
|
||||
rules_arr.push_back (ptr_rule_object);
|
||||
|
||||
_r_fastlock_releaseexclusive (&lock_access);
|
||||
_r_fastlock_releaseshared (&lock_access);
|
||||
|
||||
const INT listview_id = _app_gettab_id (app.GetHWND ());
|
||||
|
||||
|
||||
+8
-8
@@ -1395,7 +1395,7 @@ void _app_profile_load (HWND hwnd, LPCWSTR path_custom)
|
||||
_r_listview_deleteallitems (hwnd, i);
|
||||
}
|
||||
|
||||
_r_fastlock_acquireexclusive (&lock_access);
|
||||
_r_fastlock_acquireshared (&lock_access);
|
||||
|
||||
// clear apps
|
||||
_app_freeobjects_map (apps, true);
|
||||
@@ -1416,7 +1416,7 @@ void _app_profile_load (HWND hwnd, LPCWSTR path_custom)
|
||||
// generate services list
|
||||
_app_generate_services ();
|
||||
|
||||
_r_fastlock_releaseexclusive (&lock_access);
|
||||
_r_fastlock_releaseshared (&lock_access);
|
||||
|
||||
// load profile
|
||||
if (path_custom || _r_fs_exists (config.profile_path) || _r_fs_exists (config.profile_path_backup))
|
||||
@@ -1434,9 +1434,9 @@ void _app_profile_load (HWND hwnd, LPCWSTR path_custom)
|
||||
if (result.status != pugi::status_file_not_found && result.status != pugi::status_no_document_element)
|
||||
_app_logerror (L"pugi::load_file", 0, _r_fmt (L"status: %d,offset: %" PR_PTRDIFF L",text: %hs,file: %s", result.status, result.offset, result.description (), path_custom ? path_custom : config.profile_path), false);
|
||||
|
||||
_r_fastlock_acquireexclusive (&lock_access);
|
||||
_r_fastlock_acquireshared (&lock_access);
|
||||
_app_profile_load_fallback ();
|
||||
_r_fastlock_releaseexclusive (&lock_access);
|
||||
_r_fastlock_releaseshared (&lock_access);
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -1454,9 +1454,9 @@ void _app_profile_load (HWND hwnd, LPCWSTR path_custom)
|
||||
if (root_apps)
|
||||
_app_profile_load_helper (root_apps, DataAppRegular, version);
|
||||
|
||||
_r_fastlock_acquireexclusive (&lock_access);
|
||||
_r_fastlock_acquireshared (&lock_access);
|
||||
_app_profile_load_fallback ();
|
||||
_r_fastlock_releaseexclusive (&lock_access);
|
||||
_r_fastlock_releaseshared (&lock_access);
|
||||
|
||||
// load rules config (new!)
|
||||
pugi::xml_node root_rules_config = root.child (L"rules_config");
|
||||
@@ -1502,9 +1502,9 @@ void _app_profile_load (HWND hwnd, LPCWSTR path_custom)
|
||||
_r_fs_move (config.apps_path, config.apps_path_backup, MOVEFILE_REPLACE_EXISTING);
|
||||
}
|
||||
|
||||
_r_fastlock_acquireexclusive (&lock_access);
|
||||
_r_fastlock_acquireshared (&lock_access);
|
||||
_app_profile_load_fallback ();
|
||||
_r_fastlock_releaseexclusive (&lock_access);
|
||||
_r_fastlock_releaseshared (&lock_access);
|
||||
}
|
||||
|
||||
// load rules config (old!)
|
||||
|
||||
Reference in new issue
Block a user