Den lör 15 juni 2019 kl 18:00 skrev Federico Buti <fed.b...@gmail.com>:
>
> Hi all.
>
> Recently we successfully switched from Qt 5.6 to Qt 5.12.3 after some 
> struggles on win. Very few unit tests failed out of hundreds. Among those one 
> stood out as quite strange and I'm looking for feedback on it.
>
> We wrote a simple wrapper around inotify API to collect events in a target 
> directory for the set {IN_CREATE, IN_OPEN, IN_MODIFY, IN_CLOSE, IN_MOVED_TO, 
> IN_DELETE}. All the unit tests for those events pass correctly on 5.12. All 
> of them with the exception of the test for moved/renamed files which fails 
> miserably.
> We gave strace a go and we noticed that 5.12 runtime acts differently for 
> rename/move operations (see attached compare screenshot). In particular, on 
> 5.6 we have an actual rename whereas a link/unlink sequence happens on 5.12. 
> That sequence is not detected by our code, generating the failure.
>
> How can we handle this change? We should maybe pay attention to IN_ATTRIB 
> attributes for link, shouldn't we? Can someone point out the commit that 
> changes the behaviour?

The change is https://codereview.qt-project.org/c/qt/qtbase/+/199004
and it seems to have been made in order to avoid the overwriting
semantics of rename(2).

I don't know how to handle it as I'm not familiar with inotify, but I
bet someone here is.

Elvis

>
> Any advice is pretty much appreciated!
> Thanks in advance
> F.
>
> _______________________________________________
> Interest mailing list
> Interest@qt-project.org
> https://lists.qt-project.org/listinfo/interest
_______________________________________________
Interest mailing list
Interest@qt-project.org
https://lists.qt-project.org/listinfo/interest

Reply via email to