in reply to Re^18: XS.c: loadable library and perl binaries are mismatched (got handshake key 0xc100000, needed 0xc180000)
in thread XS.c: loadable library and perl binaries are mismatched (got handshake key 0xc100000, needed 0xc180000)

If you think it's worth the effort, try changing (in util.c)...

I don't think it's worth the effort.
I thought it might be useful to see what happens on your system if the handshake fails but the program is allowed to continue on.
So I tried (on Windows) changing the "noperl_die" to a "Perl_warn" as I suggested above, but when faced with an XS.dll (from an earlier version of perl) that failed to pass the handshake, the program still died:
XS.c: loadable library and perl binaries are mismatched (got handshake + key 00000000005487e8, needed 0000000000000000)
Even making util.c's Perl_xs_handshake() return as soon as the handshake mismatch was detected didn't prevent the fatality.

I was hoping for a simple, unsophisticated, way of turning the mismatch into nothing more than a warning - but the gestapo have got me snookered on that one ... for the moment, anyway.
It probably wouldn't have helped much, anyway.

Cheers,
Rob
  • Comment on Re^19: XS.c: loadable library and perl binaries are mismatched (got handshake key 0xc100000, needed 0xc180000)
  • Download Code