The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

ExtUtils::XSpp::Plugin::Cloning - An XS++ plugin for controlling cloning on thread creation

SYNOPSIS

Use it in your XS++ code as follows. No other interface required.

  %module{Your::Module}
  
  %loadplugin{Cloning}
  
  # Objects of this class will just be undef in a cloned interpreter
  class MyThreadSafeClass {
    %PreventCloning;
    ...
  };
  
  # TODO More to come

DESCRIPTION

ExtUtils::XSpp::Plugin::Cloning is a plugin for XS++ (See ExtUtils::XSpp) for controlling the behavior of a class's objects when the interpreter/thread they live in is cloned.

Since ExtUtils::XSpp's plugin interface is considered experimental, so is this module!

DIRECTIVES

%PreventCloning

Specify this directive inside your class to prevent objects of the class from being cloned on thread spawning. They will simply be undefined in the new interperter/thread.

This defines a new CLONE_SKIP method in the given class that prevents the instances from being cloned. Note that due to this implementation detail, the effect of the %PreventCloning directive is inheritable.

AUTHOR

Steffen Mueller <smueller@cpan.org>

COPYRIGHT AND LICENSE

Copyright 2010 by Steffen Mueller

This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.