http://qs321.pair.com?node_id=696146


in reply to sharing complex data structures

  1. What version of Perl are you using ?
  2. What version of threads are you using ?
  3. What version of threads::shared are you using ?
And yes, you need to share the $res object. Every reference stored in a shared object must also be shared. And I don't know if a $res object can be shared. If it contains file handles or coderefs, or uses tie()s, than no. If its just an object with scalar members, then probably. Anything in-between will require the new shared_clone() capability (as you've used on $data above, for reasons that escape me, since you're just creating a hashref).

I suspect your app will need some refactoring to be able to use threads effectively, but as you've not posted any significant code, its a challenge to decipher your intent.


Perl Contrarian & SQL fanboy