diff options
| author | 2013-12-12 19:30:19 +0100 | |
|---|---|---|
| committer | 2013-12-12 19:30:19 +0100 | |
| commit | 97a7d7b0b2c25d573a8dac72e6183abf640c8fe4 (patch) | |
| tree | da983ee0a77205574dfd8853f026e63bce14d57a /lib/lib_rss.php | |
| parent | 09776727cd961a26658809a5192b7a43458c1448 (diff) | |
Microtime : récupération de toutes les microsecondes
Microtime(true) dépend de la précision de PHP définie dans php.ini, et
par défaut, nous perdons les deux dernières décimales des microsecondes.
Du coup, sur une machine très rapide, cela aurait pu poser des problèmes
d'identifiants dupliqués.
Patch utilisant gettimeofday() à la place.
Au passage, reste en string tout le long et plus besoin de faire la
conversion CAST(? * 1000000 AS SIGNED INTEGER) côté base de données.
https://github.com/marienfressinaud/FreshRSS/issues/202
Diffstat (limited to 'lib/lib_rss.php')
| -rw-r--r-- | lib/lib_rss.php | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/lib/lib_rss.php b/lib/lib_rss.php index 8d4cecf44..4f5b90b61 100644 --- a/lib/lib_rss.php +++ b/lib/lib_rss.php @@ -255,6 +255,16 @@ function lazyimg($content) { ); } +function uTimeString() { + $t = @gettimeofday(); + return $t['sec'] . str_pad($t['usec'], 6, '0'); +} + +function uSecString() { + $t = @gettimeofday(); + return str_pad($t['usec'], 6, '0'); +} + function invalidateHttpCache() { - file_put_contents(DATA_PATH . '/touch.txt', microtime(true)); + file_put_contents(DATA_PATH . '/touch.txt', uTimeString()); } |
