Re: Bizarre copy of unknown

"Craig A. Berry" <[email protected]> Tue, 08 Jan 2013 22:02:55 -0600
Newsgroups gmane.comp.lang.perl.ports.vms
Message-ID <[email protected]>
On Jan 8, 2013, at 9:14 PM, Thomas Pfau <[email protected]> wrote:

> It looks like the definition of PL_sv_undef has something to do with threads.  Could this be broken because I enabled threads in my build?

It doesn't have anything to do with threads directly, except all PL_xxx global variables are not really global variables under threads, but are instead members of the interpreter struct.

> On Tue, Jan 8, 2013 at 9:24 PM, Thomas Pfau <[email protected]> wrote:
> This is even causing problems with the generated constant function.  If I try to get the value of a constant I get this:
> 
> $x = &VMS::CMS::CMS_K_ACCEPT

The ampersand is forcing it to be interpreted as a subroutine call, but that's not really a subroutine is it?

> Bizarre copy of UNKNOWN in list assignment at /DISK$USERS/PFAU/PROG/PERL/vms-cms/blib/lib/VMS/CMS.pm line 490.

The error message means it doesn't know the type of the scalar that's having its flags checked (search for "Bizarre" in sv.c).  I see that most of your routines have return values of type SV *, so I would think that instead of

        RETVAL = &PL_sv_undef;

you would want:

        RETVAL = (SV *) &PL_sv_undef;

but I don't know if that would help with the immediate problem.

I haven't had time to download your module and try it.  Is the one on CPAN the latest?

________________________________________
Craig A. Berry
mailto:[email protected]

"... getting out of a sonnet is much more
 difficult than getting in."
                 Brad Leithauser