Steffen Müller > ExtUtils-XSpp-Plugin-Cloning-0.02 > ExtUtils::XSpp::Plugin::Cloning

Download:
ExtUtils-XSpp-Plugin-Cloning-0.02.tar.gz

Dependencies

Annotate this POD

View/Report Bugs
Module Version: 0.02   Source  

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.

syntax highlighting: