View Issue Details

IDProjectCategoryView StatusLast Update
0001419Far Manager_Commonpublic2010-08-09 19:15
ReporterMaximus Assigned Toalexy  
PrioritynormalSeveritymajorReproducibilityalways
Status closedResolutionfixed 
Platformx86OSWindowsOS VersionXP SP2
Product Version2.0 
Fixed in Version2.0 
Summary0001419: Очень длительный переход на локальный диск (AltF1/AltF2)
DescriptionООЧЕНЬ длительный переход на локальный диск (через меню дисков AltF1/F2)
если на панели открыт сетевой путь на сервер, который был отключен.
То есть пока сервер (server1) жив, переходим в папку
\\server1\far\far2x64
теперь сервер (server1) гасим, но в фаре отстается открытой сетевая папка.
Жмем "AltF1 C", ожидая что тут-же будет открыт диск C.
Однако идет задержка в 40 секунд.
Additional InformationРазбор полетов показал, что проблема в FileList::ChangeDir.
Там strCurDir - сетевой путь. И FarChDir на 2539 строке выполняется дофига времени.
TagsNo tags attached.
Build1632

Activities

Maximus

2010-06-26 13:02

reporter  

alexy

2010-07-07 22:41

administrator   bugnote:0005561

1608

Maximus

2010-07-30 00:17

reporter   bugnote:0005651

Как оказалось, теперь тормозит функция FindCloseChangeNotification (в аналогичной ситуации).
Может как-то так, в фоновой нити хэндл закрывать?

Index: flupdate.cpp
===================================================================
--- flupdate.cpp (revision 4898)
+++ flupdate.cpp (working copy)
@@ -597,7 +597,13 @@
 {
     if (hListChange!=INVALID_HANDLE_VALUE)
     {
- FindCloseChangeNotification(hListChange);
+ //FindCloseChangeNotification(hListChange); //Max: Теперь тормозит тут!
+ DWORD nTID;
+ HANDLE hCloseThread = CreateThread(0, 0, (LPTHREAD_START_ROUTINE)FindCloseChangeNotification, hListChange, 0, &nTID);
+ if (hCloseThread)
+ CloseHandle(hCloseThread);
+ else
+ FindCloseChangeNotification(hListChange);
         hListChange=INVALID_HANDLE_VALUE;
     }
 }

alexy

2010-07-30 19:33

administrator   bugnote:0005652

1632

Issue History

Date Modified Username Field Change
2010-06-26 13:02 Maximus New Issue
2010-06-26 13:02 Maximus File Added: filelist100626.diff.7z
2010-07-07 22:41 alexy Note Added: 0005561
2010-07-07 22:41 alexy Assigned To => alexy
2010-07-07 22:41 alexy Status new => feedback
2010-07-14 21:21 alexy Build => 1608
2010-07-14 21:21 alexy Status feedback => closed
2010-07-14 21:21 alexy Resolution open => fixed
2010-07-14 21:21 alexy Fixed in Version => 2.0
2010-07-30 00:17 Maximus Note Added: 0005651
2010-07-30 00:17 Maximus Status closed => feedback
2010-07-30 00:17 Maximus Resolution fixed => reopened
2010-07-30 13:54 JohnDoe Status feedback => assigned
2010-07-30 19:33 alexy Note Added: 0005652
2010-07-30 19:33 alexy Status assigned => feedback
2010-08-09 19:15 alexy Build 1608 => 1632
2010-08-09 19:15 alexy Status feedback => closed
2010-08-09 19:15 alexy Resolution reopened => fixed