Beefy Boxes and Bandwidth Generously Provided by pair Networks
Perl-Sensitive Sunglasses
 
PerlMonks  

Re: How to make thread-save data on C API

by BrowserUk (Pope)
on Sep 20, 2013 at 12:14 UTC ( #1055009=note: print w/ replies, xml ) Need Help??


in reply to How to make thread-save data on C API

See SvSHARE(), SvLOCK & SvUNLOCK in perlapi.

Alternatively, you might do:

use threads; use threads::shared; my $d : shared; $d = shared_clone( mymodule::myfunc() );

With the rise and rise of 'Social' network sites: 'Computers are making people easier to use everyday'
Examine what is said, not who speaks -- Silence betokens consent -- Love the truth but pardon error.
"Science is about questioning the status quo. Questioning authority".
In the absence of evidence, opinion is indistinguishable from prejudice.


Comment on Re: How to make thread-save data on C API
Download Code
Re^2: How to make thread-save data on C API
by Tormalon (Initiate) on Sep 20, 2013 at 14:04 UTC
    Thanks for the info. Unfortunately, the SvSHARE does not work for me - I always receive empty HASHREF:
    rt = newHV(); SvSHARE((SV*)rt); sv = newSViv(42); //SvSHARE(sv); hv_stores(rt, "fe", sv); ... ST(i) = sv_2mortal((SV*)newRV_noinc((SV*)rt)); XSRETURN(4); --- result for this tuple: $VAR1 = {};
    So, I have shared HASH, but without any contents inside hash... I'll use shared_clone, but I think I can reproduce/clone the shared_clone source code...
      So, I have shared HASH, but without any contents inside hash

      No. I can't make it work either :(


      With the rise and rise of 'Social' network sites: 'Computers are making people easier to use everyday'
      Examine what is said, not who speaks -- Silence betokens consent -- Love the truth but pardon error.
      "Science is about questioning the status quo. Questioning authority".
      In the absence of evidence, opinion is indistinguishable from prejudice.

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://1055009]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others perusing the Monastery: (9)
As of 2014-12-27 14:16 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    Is guessing a good strategy for surviving in the IT business?





    Results (177 votes), past polls