Glad it worked despite my less-than-clear indications =)

On Wednesday, 22 October 2014 16:03:56 UTC+2, jas wrote:
>
> I am creating a linux shared object (.so) from an existing binary tool 
> written in C, writing a custom C++ v8 bound native add on which links to 
> the shared object.
>
> Everything so far is working swimmingly, node-gyp compiles, links & 
> provides the module. The primary functionality is in place and also works 
> fine until I attempt to do the following:
>
> From the existing C functionality compiled as ... 
> extern "C" { /* ... */ }
>
> I pass a struct & additional data to another function (also wrapped with 
> the extern) which passes that same data to a C++ function (member of a 
> class) at which time the call to 
> HandleScoope scope;
> causes a segfault.
>
>
>    
> #include <node.h>
> #include <v8.h>
>  
> using namespace node;
> using namespace v8;
>  
> /* This function 'ReturnObject' is
>  * called from an existing library
>  * written in C
> */
> extern "C" {
>   void ReturnObject() {
>     classname cn;
>  
>     cn.Report();
>   }
> }
>  
> void classname::Report() {
>   HandleScope scope; // Here is where I am getting segfaults
>   classname cn;
>  
>   Local<Object> obj = Object::New();
>   v8::Persistent<v8::Object> pobj(v8::Persistent<v8::Object>::New(obj));
>  
>   cn.RunCallback(pobj);
> } 
>
> My assumption is that when I call HandleScope from the extern wrapped 
> function is that the scope is missing. My other assumption is that I cannot 
> do this from a child process, which is what I believe the problem is.
>
> Any tips or pointers on how I can accomplish this is appreciated.
>

-- 
Job board: http://jobs.nodejs.org/
New group rules: 
https://gist.github.com/othiym23/9886289#file-moderation-policy-md
Old group rules: 
https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines
--- 
You received this message because you are subscribed to the Google Groups 
"nodejs" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/nodejs/5e1f101c-a10f-45ae-9394-b739f2bd4faf%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to