IPC-ScoreBoard

 view release on metacpan or  search on metacpan

ScoreBoard.xs  view on Meta::CPAN

    RETVAL

void
get_all(sb, slot)
  SV* sb
  UV slot
  PROTOTYPE: $$
  INIT:
    UV sz, i;
    vIV *slotptr=get_slot(sb, slot, &sz);
  PPCODE:
    EXTEND(SP, sz);
    for( i=0; i<sz; i++ ) {
      mPUSHi(slotptr[i]);
    }

void
sum_all(sb)
  SV* sb
  PROTOTYPE: $
  PPCODE:
    if( expect_true((sb && SvROK(sb))) ) {
      struct hdr *hdr=(struct hdr *)SvPV_nolen(SvRV(sb));
      vIV *data=(vIV*)(sizeof(*hdr)+(char*)hdr);
      UV i, j;
      EXTEND(SP, hdr->slotsize);
      for( j=0; j<hdr->slotsize; j++ ) {
	mPUSHi(0);
      }
      for( i=0; i<hdr->how_many; i++ ) {
	for( j=0; j<hdr->slotsize; j++ ) {

ScoreBoard.xs  view on Meta::CPAN

  OUTPUT:
    RETVAL

void
get_all_extra(sb)
  SV* sb
  PROTOTYPE: $
  INIT:
    UV sz, i;
    vIV *slotptr=get_extra(sb, &sz);
  PPCODE:
    EXTEND(SP, sz);
    for( i=0; i<sz; i++ ) {
      mPUSHi(slotptr[i]);
    }

IV
have_atomics()
  PROTOTYPE:
  CODE:
    RETVAL=HAVE_ATOMICS;



( run in 0.592 second using v1.01-cache-2.11-cpan-71847e10f99 )