RE: More locking confusion...
Jon, Yes, and no. Regular variables are copied, structures are copied as you stated. So, you can use CFSET REQUEST.var=APPLCIATION.var as long as var is a simple variable, but if APPLICATION.var is a structure you'll need to do a deep copy. --- Ben -Original Message- From: Jon Hall [mailto:[EMAIL PROTECTED]] Sent: Thursday, April 26, 2001 6:49 PM To: CF-Talk Subject: More locking confusion... Ok I got the devcenter mailinglist today like a lot of us, and I was checking out the article titled ColdFusion Methodologies for Content Management at http://www.allaire.com/handlers/index.cfm?ID=20750. The author writes: An easy answer to this problem is to dump the entire SESSION or APPLICATION scope into the REQUEST scope. ColdFusion does not 'share' the REQUEST scope between threads and it does not need to be locked. So by dumping all the shared variables to this scope, we can lock our variables once and then forget about it. Well I thought that cfsetting a session or application variable to a request scoped variable only set a pointer to the original variable so these request variables need to be locked too. I thought this is what the duplicate() is supposed to do (when it's fixed :-)). Am I incorrect? jon ~~ Structure your ColdFusion code with Fusebox. Get the official book at http://www.fusionauthority.com/bkinfo.cfm Archives: http://www.mail-archive.com/cf-talk@houseoffusion.com/ Unsubscribe: http://www.houseoffusion.com/index.cfm?sidebar=lists
RE: More locking confusion...
** Macromedia Representative ** Don't forget that if the var is an array of simple values, your ok, but if it is an array of structures, you should Duplicate() it. Also, if you are copying a query from the app scope, you should also duplicate() it. === Raymond Camden, Principal Spectra Compliance Engineer for Macromedia Email : [EMAIL PROTECTED] ICQ UIN : 3679482 My ally is the Force, and a powerful ally it is. - Yoda -Original Message- From: Ben Forta [mailto:[EMAIL PROTECTED]] Sent: Monday, April 30, 2001 7:10 PM To: CF-Talk Subject: RE: More locking confusion... Jon, Yes, and no. Regular variables are copied, structures are copied as you stated. So, you can use CFSET REQUEST.var=APPLCIATION.var as long as var is a simple variable, but if APPLICATION.var is a structure you'll need to do a deep copy. --- Ben -Original Message- From: Jon Hall [mailto:[EMAIL PROTECTED]] Sent: Thursday, April 26, 2001 6:49 PM To: CF-Talk Subject: More locking confusion... Ok I got the devcenter mailinglist today like a lot of us, and I was checking out the article titled ColdFusion Methodologies for Content Management at http://www.allaire.com/handlers/index.cfm?ID=20750. The author writes: An easy answer to this problem is to dump the entire SESSION or APPLICATION scope into the REQUEST scope. ColdFusion does not 'share' the REQUEST scope between threads and it does not need to be locked. So by dumping all the shared variables to this scope, we can lock our variables once and then forget about it. ~~ Structure your ColdFusion code with Fusebox. Get the official book at http://www.fusionauthority.com/bkinfo.cfm Archives: http://www.mail-archive.com/cf-talk@houseoffusion.com/ Unsubscribe: http://www.houseoffusion.com/index.cfm?sidebar=lists
RE: More locking confusion...
** Macromedia Representative ** I think the author _implied_ that you should use duplicate() instead of 'cfset', but simply didn't say it. I haven't read the whole article, so I could be wrong. Anyway, you are correct. If you want to use the Request scope to store app and session stuff, use Duplicate(), and make sure you have the Duplicate() hotfix applied. === Raymond Camden, Principal Spectra Compliance Engineer for Macromedia Email : [EMAIL PROTECTED] ICQ UIN : 3679482 My ally is the Force, and a powerful ally it is. - Yoda -Original Message- From: Jon Hall [mailto:[EMAIL PROTECTED]] Sent: Thursday, April 26, 2001 6:49 PM To: CF-Talk Subject: More locking confusion... Ok I got the devcenter mailinglist today like a lot of us, and I was checking out the article titled ColdFusion Methodologies for Content Management at http://www.allaire.com/handlers/index.cfm?ID=20750. The author writes: An easy answer to this problem is to dump the entire SESSION or APPLICATION scope into the REQUEST scope. ColdFusion does not 'share' the REQUEST scope between threads and it does not need to be locked. So by dumping all the shared variables to this scope, we can lock our variables once and then forget about it. Well I thought that cfsetting a session or application variable to a request scoped variable only set a pointer to the original variable so these request variables need to be locked too. I thought this is what the duplicate() is supposed to do (when it's fixed :-)). ~~ Structure your ColdFusion code with Fusebox. Get the official book at http://www.fusionauthority.com/bkinfo.cfm Archives: http://www.mail-archive.com/cf-talk@houseoffusion.com/ Unsubscribe: http://www.houseoffusion.com/index.cfm?sidebar=lists
Re: More locking confusion...
use Duplicate(), and make sure you have the Duplicate() hotfix applied. The hotfix download page says the problem exists in v4.51 SP2 but then goes on to say This fix is only available to CF Server Enterprise customers. Does this mean that the problem is only with the Enterprise version? Or are they only providing a fix for Enterprise customers leaving Pro customers vulnerable? Any info is appreciated. Ken ~~ Structure your ColdFusion code with Fusebox. Get the official book at http://www.fusionauthority.com/bkinfo.cfm Archives: http://www.mail-archive.com/cf-talk@houseoffusion.com/ Unsubscribe: http://www.houseoffusion.com/index.cfm?sidebar=lists
RE: More locking confusion...
** Macromedia Representative ** Sorry, I don't know about the Pro version. You may want to try contacting Support? === Raymond Camden, Principal Spectra Compliance Engineer for Macromedia Email : [EMAIL PROTECTED] ICQ UIN : 3679482 My ally is the Force, and a powerful ally it is. - Yoda -Original Message- From: Ken Wilson [mailto:[EMAIL PROTECTED]] Sent: Tuesday, May 01, 2001 9:16 AM To: CF-Talk Subject: Re: More locking confusion... use Duplicate(), and make sure you have the Duplicate() hotfix applied. The hotfix download page says the problem exists in v4.51 SP2 but then goes on to say This fix is only available to CF Server Enterprise customers. Does this mean that the problem is only with the Enterprise version? Or are they only providing a fix for Enterprise customers leaving Pro customers vulnerable? Any info is appreciated. Ken ~~ Structure your ColdFusion code with Fusebox. Get the official book at http://www.fusionauthority.com/bkinfo.cfm Archives: http://www.mail-archive.com/cf-talk@houseoffusion.com/ Unsubscribe: http://www.houseoffusion.com/index.cfm?sidebar=lists
RE: More locking confusion...
The hotfix download page says the problem exists in v4.51 SP2 but then goes on to say This fix is only available to CF Server Enterprise customers. Does this mean that the problem is only with the Enterprise version? Or are they only providing a fix for Enterprise customers leaving Pro customers vulnerable? There's a separate patch for Pro. Unfortunately, I don't know where on the Allaire site it can be found. You might have to contact Allaire tech support. Dave Watts, CTO, Fig Leaf Software http://www.figleaf.com/ voice: (202) 797-5496 fax: (202) 797-5444 ~~ Structure your ColdFusion code with Fusebox. Get the official book at http://www.fusionauthority.com/bkinfo.cfm Archives: http://www.mail-archive.com/cf-talk@houseoffusion.com/ Unsubscribe: http://www.houseoffusion.com/index.cfm?sidebar=lists
RE: More locking confusion...
Was duplicate() not broken previous to sp2? -Original Message- From: Dave Watts [mailto:[EMAIL PROTECTED]] Sent: Tuesday, May 01, 2001 10:15 AM To: CF-Talk Subject: RE: More locking confusion... The hotfix download page says the problem exists in v4.51 SP2 but then goes on to say This fix is only available to CF Server Enterprise customers. Does this mean that the problem is only with the Enterprise version? Or are they only providing a fix for Enterprise customers leaving Pro customers vulnerable? There's a separate patch for Pro. Unfortunately, I don't know where on the Allaire site it can be found. You might have to contact Allaire tech support. Dave Watts, CTO, Fig Leaf Software http://www.figleaf.com/ voice: (202) 797-5496 fax: (202) 797-5444 ~~ Structure your ColdFusion code with Fusebox. Get the official book at http://www.fusionauthority.com/bkinfo.cfm Archives: http://www.mail-archive.com/cf-talk@houseoffusion.com/ Unsubscribe: http://www.houseoffusion.com/index.cfm?sidebar=lists
RE: More locking confusion...
If someone does find the link for the patch could you please post it here. Mark -Original Message- From: Dave Watts [mailto:[EMAIL PROTECTED]] Sent: Tuesday, May 01, 2001 7:15 AM To: CF-Talk Subject: RE: More locking confusion... The hotfix download page says the problem exists in v4.51 SP2 but then goes on to say This fix is only available to CF Server Enterprise customers. Does this mean that the problem is only with the Enterprise version? Or are they only providing a fix for Enterprise customers leaving Pro customers vulnerable? There's a separate patch for Pro. Unfortunately, I don't know where on the Allaire site it can be found. You might have to contact Allaire tech support. Dave Watts, CTO, Fig Leaf Software http://www.figleaf.com/ voice: (202) 797-5496 fax: (202) 797-5444 ~~ Structure your ColdFusion code with Fusebox. Get the official book at http://www.fusionauthority.com/bkinfo.cfm Archives: http://www.mail-archive.com/cf-talk@houseoffusion.com/ Unsubscribe: http://www.houseoffusion.com/index.cfm?sidebar=lists
More locking confusion...
Ok I got the devcenter mailinglist today like a lot of us, and I was checking out the article titled ColdFusion Methodologies for Content Management at http://www.allaire.com/handlers/index.cfm?ID=20750. The author writes: An easy answer to this problem is to dump the entire SESSION or APPLICATION scope into the REQUEST scope. ColdFusion does not 'share' the REQUEST scope between threads and it does not need to be locked. So by dumping all the shared variables to this scope, we can lock our variables once and then forget about it. Well I thought that cfsetting a session or application variable to a request scoped variable only set a pointer to the original variable so these request variables need to be locked too. I thought this is what the duplicate() is supposed to do (when it's fixed :-)). Am I incorrect? jon ~~ Structure your ColdFusion code with Fusebox. Get the official book at http://www.fusionauthority.com/bkinfo.cfm Archives: http://www.mail-archive.com/cf-talk@houseoffusion.com/ Unsubscribe: http://www.houseoffusion.com/index.cfm?sidebar=lists
Re: More locking confusion...
On 4/26/01, Jon Hall penned: The author writes: An easy answer to this problem is to dump the entire SESSION or APPLICATION scope into the REQUEST scope. ColdFusion does not 'share' the REQUEST scope between threads and it does not need to be locked. So by dumping all the shared variables to this scope, we can lock our variables once and then forget about it. Well I thought that cfsetting a session or application variable to a request scoped variable only set a pointer to the original variable so these request variables need to be locked too. I thought this is what the duplicate() is supposed to do (when it's fixed :-)). Am I incorrect? Partially correct I believe. I think if you have a simple variable. cfset session.ID = something Then cfset request.mysessionid = session.id You'll be OK as long as you exclusively lock the setting of the session scoped variable and read lock the setting of the request scoped variable. However if you store a complex structure, such as a query, in a session or application variable, then it creates a pointer and accessing the request scope would also need to be locked. -- Bud Schneehagen - Tropical Web Creations _/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/ ColdFusion Solutions / eCommerce Development [EMAIL PROTECTED] http://www.twcreations.com/ 954.721.3452 ~~ Structure your ColdFusion code with Fusebox. Get the official book at http://www.fusionauthority.com/bkinfo.cfm Archives: http://www.mail-archive.com/cf-talk@houseoffusion.com/ Unsubscribe: http://www.houseoffusion.com/index.cfm?sidebar=lists