… | |
… | |
12 | do_the_C_thing (); |
12 | do_the_C_thing (); |
13 | perlinterp_acquire (); |
13 | perlinterp_acquire (); |
14 | |
14 | |
15 | =head1 DESCRIPTION |
15 | =head1 DESCRIPTION |
16 | |
16 | |
17 | This header file implements a simple mechanism for XS modules to allow |
17 | This specification describes a simple mechanism for XS modules to allow |
18 | re-use of the perl interpreter for other threads while doing some lengthy |
18 | re-use of the perl interpreter for other threads while doing some lengthy |
19 | operation, such as cryptography, SQL queries, disk I/O and so on. |
19 | operation, such as cryptography, SQL queries, disk I/O and so on. |
20 | |
20 | |
21 | The design goals for this mechanism were to be simple to use, very |
21 | The design goals for this mechanism were to be simple to use, to be |
22 | efficient when not needed, low code and data size overhead and broad |
22 | extremely low overhead when not active, with both low code and data size |
23 | applicability. |
23 | overhead and broad applicability. |
24 | |
24 | |
25 | The newest version of this document can be found at |
25 | The newest version of this document can be found at |
26 | L<http://perlmulticore.schmorp.de/>. |
26 | L<http://perlmulticore.schmorp.de/>. |
27 | |
27 | |
28 | The newest version of the header file itself, can be downloaded from |
28 | The newest version of the header file that implements this specification |
29 | L<http://perlmulticore.schmorp.de/perlmulticore.h>. |
29 | can be downloaded from L<http://perlmulticore.schmorp.de/perlmulticore.h>. |
30 | |
30 | |
31 | =head1 HOW DO I USE THIS IN MY MODULES? |
31 | =head1 HOW DO I USE THIS IN MY MODULES? |
32 | |
32 | |
33 | The usage is very simple - you include this header file in your XS module. Then, before you |
33 | The usage is very simple - you include this header file in your XS module. Then, before you |
34 | do your lengthy operation, you release the perl interpreter: |
34 | do your lengthy operation, you release the perl interpreter: |