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.)
Moving the reading directories to the separate threads?
Moderators: Hacker, petermad, Stefan2, white
Moving the reading directories to the separate threads?
(user licence #64081)
[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]
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]
[face=courier]The Protoss do NOT run from their enemies.
It is here, that we shall make our stand.[/face]
It is here, that we shall make our stand.[/face]
> 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.
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)
- SanskritFritz
- Power Member
- Posts: 3693
- Joined: 2003-07-24, 09:25 UTC
- Location: Budapest, Hungary
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.
"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!
[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]
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]
[face=courier]The Protoss do NOT run from their enemies.
It is here, that we shall make our stand.[/face]
It is here, that we shall make our stand.[/face]
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
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
- SanskritFritz
- Power Member
- Posts: 3693
- Joined: 2003-07-24, 09:25 UTC
- Location: Budapest, Hungary
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!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.
I switched to Linux, bye and thanks for all the fish!