Dean Arnold wrote:
>  BTW: have you looked into reusing or integrating with any
>  of the Clone modules ? At present, I don't think they
>  handle shared variables, but they're the usual mechanism
>  for cloning structures, and a couple of them use XS for
>  performance.

I'm not familiar with any of them.  However, if they don't
handled shared variables, I'm not sure they'd be useful
unless they were modified to do make shared copies at each
step.

As a first step, I'll work on fixing the circular references
issue in Thread::Queue.  (I think I have it done, but need
to test it.)  Then work on moving that code to
threads::shared in conjunction with overloading the '='
operator.  After that, I could look into other modules
and/or further optimizations.

I've attached my reworked version of T::Q that I think takes
care of circular references.  Would you mind giving it a
going over?  (It passes all the currents tests in its test
suite, so I know I didn't break anything.)  Thanks.

Attachment: Queue.pm
Description: Binary data

Reply via email to