cfengine/core — pull request #1152 by kacfengine (2013-12-02 16:18:56+00:00)
Title: Fix cf-serverd not reloading policies when they have changed.

The root of the problem was that the code to check for updated promises was shared between cf-agent/cf-promises and the daemons, but they have different semantics. cf-agent/cf-promises need to check whether any files have changed so they can update cf_promises_validated. To do this, a check that compares cf_promises_validated to each file in inputs is needed, which is what the existing code is doing.

The daemons however, need to compare the modification time of cf_promises_validated against the time that they last reloaded the policies, which is a value that should be kept in memory.

This was fixed by running a simple stat in the daemons and comparing that to the time of the last seen cf_promises_validated. Also made sure that cf-agent is the only one updating the cf_promises_validated file. It's not the daemons' responsibility to do this.

Redmine #3809.