Moving the reading directories to the separate threads?

English support forum

Moderators: Hacker, petermad, Stefan2, white

Post Reply
serjayes
Junior Member
Junior Member
Posts: 56
Joined: 2004-01-19, 16:53 UTC

Moving the reading directories to the separate threads?

Post by *serjayes »

I have a big problem: I'd like use TC to access folders on more computers. By the nature of the work I do some of the folders are not always accessible or it takes too much time to read them. If the folders were accessible the last time I used TC but now they aren't, when I start TC all I can do is just sit and watch TC spending a lot of time trying to access the folders, without the chance to change to some other folders or to do anything else.

If the directory reading would be in the separate thread, I think I wouldn't have to wait at all. What should then be displayed instead of the files? It's enough that the view is empty. The main goal should be that I can use TC even during the times it tries to figure out what's going on with some folders in some of the views/tabs.

(BTW if "reread" would also act from the separate thread, then most of the time nobody would notice any rereading problems. All this would be absolutelly the biggest difference to Windows Explorer which also blocks before it figures out that it can't access something.)

(BTW2 I also noted is that when I enter the command "CD somenewdir" the TC will first try to reread the current dir, only to execute CD command immediatelly after it. This also makes me waiting too much.)
(user licence #64081)
User avatar
Black Dog
Power Member
Power Member
Posts: 1024
Joined: 2003-02-05, 22:17 UTC
Location: Odessa
Contact:

Post by *Black Dog »

[face=courier]On 19-01-2004 19:17:52 +0000 serjayes wrote:

s> I have a big problem: I'd like use TC to access folders on
s> more computers.


Did you meant "in the network" by this?

s> some of the folders are not always accessible or it takes
s> too much time to read them


Read this.[/face]
serjayes
Junior Member
Junior Member
Posts: 56
Joined: 2004-01-19, 16:53 UTC

Post by *serjayes »

> Did you meant "in the network" by this?

I meant "computers in network which I access using 'File and printer sharing for microsoft networks'". When some of computers hwhere previous location was is not available on the next start, the delay which takes part during starting of TC is very big.

> Read this

Your "this" is another subject: that thread speaks about lister, FTP or whatever. I'm talking about the reading of the list of the files in the directory. That's, speaking in Windows API, FindFirstFile/FindNextFile calls.

First, TC tries to fill the file list of tabs even when it doesn't display them (it would eb enough to display the name of the tab, if the tab is not active).

Moreover if this routine which fills the contest of the tab or the pane would be in the separate thread, TC would be immediatelly respnsive. Now it is stuck for quite a long time. When you work in the networks where not always all coputers are on, it produces annoying periods during which nothing can be done in TC.
(user licence #64081)
User avatar
SanskritFritz
Power Member
Power Member
Posts: 3693
Joined: 2003-07-24, 09:25 UTC
Location: Budapest, Hungary

Post by *SanskritFritz »

Quote from Mr Ghisler ( http://ghisler.ch/board/viewtopic.php?t=2706 ):
"Nein, kann man leider nicht - ich habe das mal probiert, doch während der Thread hängt, können auch alle lokalen Laufwerke keine Dateifunktionen mehr aufrufen (auch nicht mit lokalen Laufwerken wie c: !), weil die sonst auch hängen. Irgendwie scheint Microsoft da Probleme mit dem Multithreading zu haben..."
This means in raw english:
"No it is not possible - i tried it several times, but as long the thread is waiting, all other local drives are inaccessible (even with the drive name like c: !). It seems to me that somehow Microsoft has problems with multithreading."

So we all know, that it should be done, but believe me, Mr Ghisler tries hard, and this is one of his top entry in his to do list.
I switched to Linux, bye and thanks for all the fish!
User avatar
Black Dog
Power Member
Power Member
Posts: 1024
Joined: 2003-02-05, 22:17 UTC
Location: Odessa
Contact:

Post by *Black Dog »

[face=courier]On 21-01-2004 19:15:00 +0000 serjayes wrote:

s> I meant "computers in network which I access using 'File
s> and printer sharing for microsoft networks'".


So the key word is "network". OK.

s> Your "this" is another subject: that thread speaks about
s> lister, FTP or whatever.


My "this" is about crashed shares' reread. I can quote it directly one more time here for you:

C.G. wrote:

"...I was disappointed by Windows! Example: When I try to read a directory from a server on the net which has crashed, this will hang not only the current thread, but also all other threads of the same program which call any directory function, even with local folders - until the hanging connection times out! Yes, I tried all kinds of things to get rid of the thread when it was hanging (just ignoring the trhead, killing the thread), but unfortunately nothing worked."

So, as you can see, Christian do not have now any solution to start a "routine which fills the contest of the tab or the pane would be in the separate thread".[/face]
User avatar
Sheepdog
Power Member
Power Member
Posts: 5150
Joined: 2003-12-18, 21:44 UTC
Location: Berlin, Germany
Contact:

Post by *Sheepdog »

2serjayes

Have you ever tried to deactivate all your network panels just before close TC? I mean to put them in the background. When I do so and the forground panels are all local TC starts as quick as usual. Even if the resource in the background panel is'nt accessable. If you deactivate 'configuration ->Operation ->save on exit ->Directories' and save a 'secure' position, your TC should start quick enough.

sheepdog
User avatar
SanskritFritz
Power Member
Power Member
Posts: 3693
Joined: 2003-07-24, 09:25 UTC
Location: Budapest, Hungary

Post by *SanskritFritz »

Have you ever tried to deactivate all your network panels just before close TC? I mean to put them in the background. When I do so and the forground panels are all local TC starts as quick as usual. Even if the resource in the background panel is'nt accessable. If you deactivate 'configuration ->Operation ->save on exit ->Directories' and save a 'secure' position, your TC should start quick enough.
Yes it works for me too! I even have a locked tab with an inaccessible direcrory (USB drive) and have no problems starting TC. Also the Task Manager plugin is on a locked tab, but it gets only active when I click on the tab. Great work Christian!
I switched to Linux, bye and thanks for all the fish!
Post Reply