289
I Use This!
Moderate Activity

News

Analyzed about 15 hours ago. based on code collected 1 day ago.
Posted over 4 years ago by andrew_b
Status, Votes for changeset, Resolution, Branch state changed Thanks! Applied as [36bcaef0cfd01ed0fcf0fe503a0cb395b7ff03ca].
Posted over 4 years ago by andrew_b
Owner, Status changed
Posted over 4 years ago by memy
Replying to andrew_b: Why you patch dir_list_load() instead of local_readdir() or even mc_readdir()? My experiments (including several months of using mc with kernel 5.1+) showed that EINTR was raised by the very first readdir(). In other ... [More] words, I was always getting empty directory list not an incomplete directory list. I started with retrying readdir() in the local_readdir(). Unfortunately, readdir() would stop (NULL result with errno == 0) after returning "." and ".." directory entries in that case. This left me with a single choice: retry the whole dir_list_load(). I have no idea why no other program (ls, find, grep, different "File Open" and "File Save" dialogs, numerous file managers) demonstrated this "bad" behavior though... [Less]
Posted over 4 years ago by andrew_b
Replying to memy: If you are still interested, I have implemented quick and dirty patch: Why you patch dir_list_load() instead of local_readdir() or even mc_readdir()?
Posted over 4 years ago by memy
Replying to ravenexp: I have the same problem with SMB shares mounted via systemd mount units. It also happened after the recent kernel and samba updates. Other file managers like Gnome Nautilus do not suffer from this issue. If you are ... [More] still interested, I have implemented quick and dirty patch: ​https://github.com/myelsukov/mc/commit/66016a03ddeba115444c41783b30f92719c28b46 It works fine for me even though it is not a most beautiful piece of code :) [Less]
Posted over 4 years ago by memy
I finally found some time to debug the problem. I found out that vfs/local/local.c/local_readdir()/readdir() sometimes returns error EINTR while reading directories of the mounted SMB share. Retrying the filemanager/dir.c/dir_list_load() helps to solve this problem.
Posted over 4 years ago by andrew_b
The regression was introduced in [37ffc024225fd2ef1016babf3cbbeabce4a32899].
Posted over 4 years ago by howaboutsynergy
after step 5
Posted over 4 years ago by howaboutsynergy
step 2&3 aka middle
Posted over 4 years ago by howaboutsynergy
step1 aka before