Hacktoberfest 2026: le issue che i maintainer hanno segnato per ottobre, aperte e adatte ai principianti. Sfoglia le issue Hacktoberfest

Port IPC::SysV (low priority)

Aperta
#1,507 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
5/5
Tempo stimato
Più di una settimana
Idoneità per principianti
30/100
Tipo di issue
Funzionalità
Chiarezza
Abbastanza chiara
Stato di attività
Attiva
Stack tecnologico
java, perl

Direzione di ricerca

The issue requires porting the IPC::SysV module to PerlOnJava using Java's FFM/native access. Start by examining the existing bytecode backend operation slots and compiler/interpreter scaffolding for semaphore, message-queue, and shared-memory operations, which currently throw UnsupportedOperationException. Review the Perl IPC::SysV module's API and the Java FFM documentation. Implement the constants, ftok, and the three IPC mechanisms (semaphores, shared memory, message queues) with proper error handling and cleanup. Write focused tests for each operation and validate with a dependent module like IPC::Pleather or IPC::Transit.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

area:cpan-port area:platform enhancement

Summary

Port IPC::SysV to PerlOnJava using Java FFM/native access on Unix platforms.

This is a low-priority ecosystem-enablement task. The current targeted
MetaCPAN lookup found 14 released runtime dependants, including
IPC::Pleather, IPC::Transit, IPC-Shm-Simple, SysV-SharedMem, and
Proc-Swarm; 2 were recent dependants. Recheck this count before prioritizing
implementation, and increase priority if the dependant population grows.

Scope

  • Provide the IPC::SysV constants and ftok behavior.
  • Implement System V semaphores: semget, semop, semctl, and the
    IPC::Semaphore support they require.
  • Implement shared memory: shmget, shmat, shmdt, shmctl, memread,
    and memwrite.
  • Implement message queues: msgget, msgsnd, msgrcv, and msgctl.
  • Preserve Perl-visible return values, errno/error behavior, cleanup, and
    concurrency semantics.
  • Define platform behavior explicitly: native Unix support first; Windows
    should either use a real compatible implementation or fail clearly if SysV
    IPC is unavailable.

Existing groundwork

The bytecode backend already has operation slots and compiler/interpreter
scaffolding for semaphore, message-queue, and shared-memory operations, but
the handlers currently throw UnsupportedOperationException.

Acceptance criteria

  • Focused project-owned tests cover constants, semaphore operations, shared
    memory, message queues, errors, cleanup, and cross-process visibility where
    supported.
  • Tests pass on both JVM and interpreter backends where applicable.
  • At least one dependent module is validated after the port.
  • Documentation records supported platforms and limitations.

Related: #1144 (pseudofork support may remain a separate requirement for
modules that depend on fork).

Lingua principale
Perl
Stelle
64
Fork
6
Merge medio
5h 38m
PR unite (30g)
170

Guida per i contributori

Apri la guida per i contributori

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di fglock/PerlOnJava

Tutte le issue di fglock/PerlOnJava

Issue simili

Altre issue su Perl

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.