You're right. It does create a nested lock situation. Realized this while I was coding it after I posted.
So I changed it to this: Open readonly lock cfif NOT IsDefined(SomeApplicationVariable) set AppIsInitialized = "N" else set AppIsInitialized ="Y" close cfif Close readonly lock cfif AppIsInitialized = 'N' cfinclude template="file that sets Application variables" close cfif While I certainly can see the validity in not using the Application scope and putting everything in the Request scope, the only variables that I put in the Application scope are things that only need to be set once and then will never change... things like a default mapping, default application directory, default Verity collection, etc. Then all I ever do within the application is read them, which obviously on requires a readonly lock. I do put my datasource name in the Request scope, to prevent locking every query. Anybody have any comments/issues/flames with using this approach? Mike ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~| Archives: http://www.houseoffusion.com/cf_lists/index.cfm?forumid=4 Subscription: http://www.houseoffusion.com/cf_lists/index.cfm?method=subscribe&forumid=4 FAQ: http://www.thenetprofits.co.uk/coldfusion/faq Your ad could be here. Monies from ads go to support these lists and provide more resources for the community. http://www.fusionauthority.com/ads.cfm Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=89.70.4