[TYPO3-core] RFC: Bug #7630: Locking Problems with TSFE->set_no_cache()
Jeff Segars
jsegars at alumni.rice.edu
Fri Feb 22 20:31:20 CET 2008
This is a SVN patch request.
Branches: 4.2
Bugtracker Reference: http://bugs.typo3.org/view.php?id=7630
Problem:
The locking API has problems if an extension sets TSFE->set_no_cache().
When a page is rendered, a lock is generated as long as the page itself
isn't set to be uncached. At this point in time, we know nothing about
what individual extensions will do with page caching. When rendering
completes, we release the lock and again check to see if the page is
marked as uncached, which it may be because of an extension calling
TSFE->set_no_cache(). If the page is now marked as uncached, we don't do
anything with locks which in turn leaves us with an open lock.
Subsequent reloads of the page will take approximately 30 seconds due to
the open locks.
Solution:
Release the locks within TSFE->set_no_cache().
Notes:
The attached patch also contains some sysLog output for easier debugging
of the problem. This should be removed prior to commit so that only the
lines within set_no_cache() and releasePageGenerationLock() are changed.
I've also attached a test extension on the bugtracker. All it does is
set TSFE->set_no_cache so you can easily see the behavior before and
after the patch.
Thanks,
Jeff
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: 20080222_lock_nocache.diff
Url: http://lists.netfielders.de/pipermail/typo3-team-core/attachments/20080222/060ad31e/attachment.txt
More information about the TYPO3-team-core
mailing list