Interesting CFTIMER Problem
A few days ago I was working on an update to ColdFire (mainly support for CFTIMER), when I ran into an interesting problem.
When you use CFTIMER, you have a few options for how to display the timer information.
Those options are inline, outline, comment, and debug.
I wanted to ensure that ColdFire only picked up on timer information that used type=debug.
Turned out I didn't need to worry about it. Internally - ColdFusion didn't record any cftimer call that wasn't type=debug.
But I kept my inline cftimer test in so I could be sure it was acting like I thought it would.
But then ColdFire simply stopped working. I wasn't sure why - but then I realized that ColdFire thought a flush had happened! I had certainly not ran a cfflush (I have a separate test page for that), so I wasn't sure what was wrong.
Turns out that when you use cftimer/type=inline, ColdFusion itself performs a flush! You can see this yourself by running this code:
<cftimer type="inline" label="foo">
<cfset thread = CreateObject("java", "java.lang.Thread")>
ColdFusion will quickly display foo, and then execute the sleep. This was also confirmed by a friend at Adobe.
So while obviously this isn't a big huge deal (just one more thing to document for ColdFire), it may bite you if you try to do a cfheader call after a cftimer call. If you do, you will get:
Failed to add HTML header.
ColdFusion was unable to add the header you specified to the output stream. This is probably because you have already used a CFFLUSH tag in your template,or buffered output is turned off
View All Articles by Raymond Camden
Our Daily Email of Breaking eBusiness News
About the Author:
Raymond Camden, email@example.com
Raymond Camden is Vice President of Technology for roundpeg, Inc. A long
time ColdFusion user, Raymond has worked on numerous ColdFusion books
and is the creator of many of the most popular ColdFusion community web
sites. He is an Adobe Community Expert, user group manager, and the
proud father of three little bundles of joy.
WebProNews RSS Feed
More Expert Articles Articles