[PATCH 3/7] server: Fail to set delete disposition on a non-empty directory.

Dmitry Timoshkov dmitry at baikal.ru
Fri Nov 9 02:04:14 CST 2018


Alexandre Julliard <julliard at winehq.org> wrote:

> >> >> > Setting a disposition is not supposed to remove a directory or a file, just
> >> >> > mark it for the removal until the last handle to it gets closed, or do you
> >> >> > mean something else?
> >> >> 
> >> >> I know it's not supposed to, but I'm not sure it's a good enough reason
> >> >> to add this check and make RemoveDirectory less reliable. Do you have an
> >> >> app that depends on the directory still existing?
> >> >
> >> > It's the task scheduler service that suffers from this.
> >> 
> >> Where does it depend on the directory still existing?
> >
> > The scheduler service opens a directory for monitoring, and if that
> > dir gets removed the things go haywire. I have an installer that calls
> > RemoveDirectory() for the Tasks and Fonts directories, probably that
> > happens inadvertently but still.
> 
> It sounds like the scheduler service should be fixed. The directory
> could also get removed from outside of Wine, it should be able to cope
> with that.

The scheduler service handles file related errors just fine, the source
of the problem is that the directories shouldn't be removed in the first
place at all. Of course I can resend the remaining patches without this
one if it makes things easier for you, and there's no things you'd like
to see changed in them.

-- 
Dmitry.



More information about the wine-devel mailing list