On Thu, Oct 4, 2018 at 5:21 AM Alan Coopersmith <[email protected]> wrote: > On 10/ 3/18 03:15 PM, Roland Mainz wrote: > > On Wed, Oct 3, 2018 at 11:51 PM Alan Coopersmith > > <[email protected]> wrote: > >> Introduced-by: commit 04bdbbcab3c4862bf3f54ce60fcc1d2007776f80 > >> Signed-off-by: Alan Coopersmith <[email protected]> > >> --- > >> src/util/xmlconfig.c | 8 ++++++++ > >> 1 file changed, 8 insertions(+) > >> > >> diff --git a/src/util/xmlconfig.c b/src/util/xmlconfig.c > >> index 5264f2598b..608972f812 100644 > >> --- a/src/util/xmlconfig.c > >> +++ b/src/util/xmlconfig.c > >> @@ -938,8 +938,16 @@ parseOneConfigFile(struct OptConfData *data, const > >> char *filename) > >> static int > >> scandir_filter(const struct dirent *ent) > >> { > >> +#ifndef DT_REG /* systems without d_type in dirent results */ > >> + struct stat st; > >> + > >> + lstat(ent->d_name, &st); > >> + if (!S_ISREG(st.st_mode) && !S_ISLNK(st.st_mode)) > >> + return 0; > >> +#else > > > > What about testing for the return code of |lstat()|&&|errno| before > > looking at the value of |st| ? > > Oh, I suppose there is a small window in which the file could disappear after > it's read from the directory entry, but before the lstat occurs.
The term "small" is not right here, for example: 1. The machine could be slow, overloaded, paging/swapping and/or virtualised, which can cause many-second gaps in process/thread execution 2. HSM (=Hierarchical Storage Management) may need some time (=minutes) to fetch data from tape 3. You may not have the permission to |stat()| the specific file or directory, thanks to the wonders of ACLs and/or alien filesystems like smbfs 4. There are things like SIGSTOP, debuggers, suspend-to-@(disk|memory) etc. which can "delay" execution for days or weeks > Attached version checks for that. That version looks OK for me, [email protected] ---- Bye, Roland -- __ . . __ (o.\ \/ /.o) [email protected] \__\/\/__/ MPEG specialist, C&&JAVA&&Sun&&Unix programmer /O /==\ O\ TEL +49 641 3992797 (;O/ \/ \O;) _______________________________________________ mesa-dev mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/mesa-dev
