Coder Social home page Coder Social logo

Weird filemtime behaviour about vfsstream HOT 3 CLOSED

bovigo avatar bovigo commented on August 19, 2024
Weird filemtime behaviour

from vfsstream.

Comments (3)

ludovicchabant avatar ludovicchabant commented on August 19, 2024

Hey guess what, the stat function documentation says exactly what I suspected: results are cached :) However, I played around with clearstatcache, and it only solves some of the problems... (it does solve the above piece of code, at least).

The problem seems to be that vfsStreamFile::open() also updates the last modified time, which means that simply calling file_get_contents will mark the file modified... I wrote a patch and sent you a pull request (see issue 27).

from vfsstream.

mikey179 avatar mikey179 commented on August 19, 2024

Seems that I relied on a reference implementation which is either wrong or simply different from how it is done in PHP. As stated in http://www.aquaphoenix.com/ref/gnu_c_library/libc_166.html

When an existing file is opened, its attribute change time and modification time fields are updated

I changed this so opening a file for reading changes the attribute change time only and not the modification time any more.

from vfsstream.

ludovicchabant avatar ludovicchabant commented on August 19, 2024

Yeah the wording in that page is a bit weird... but I don't think opening a file for read would update its modtime or that would break every caching or dependency based system out there (and incidentally, that's exactly what I was unit-testing when I found the bug :) ).

from vfsstream.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.