[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