Hacktoberfest 2026:维护者为十月标记出来的 issue,仍然开放、适合新手。 浏览 Hacktoberfest issue

Port IPC::SysV (low priority)

未关闭
#1,507 0 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看

还没有人认领这个 Issue。

评估

难度
5/5
预计耗时
一周以上
新手友好度
30/100
Issue 类型
功能
描述清晰度
基本清楚
活跃度
活跃
技术栈
java, perl

调研方向

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.

由索引模型根据 Issue 内容生成。

描述

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).

主要语言
Perl
星标
64
派生
6
平均合并
5 小时 38 分钟
30 天内合并 PR
170

贡献指南

打开贡献指南

从这里开始

  1. 先读完整个 Issue,再读项目的贡献指南。
  2. 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
  3. Fork 仓库,在一个分支上完成修改。
  4. 提交 Pull Request,并在描述里引用这个 Issue 编号。

fglock/PerlOnJava 的其他 Issue

查看 fglock/PerlOnJava 的全部 Issue

相似的 Issue

更多 Perl Issue

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。