Port IPC::SysV (low priority)
Chưa có ai nhận issue này.
Đánh giá
- Độ khó
- 5/5
- Thời gian dự kiến
- Hơn một tuần
- Mức phù hợp với người mới
- 30/100
- Loại issue
- Tính năng
- Độ rõ ràng
- Khá rõ ràng
- Mức độ hoạt động
- Sôi nổi
- Lĩnh vực
- backend, operating-systems
Hướng nghiên cứu
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.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
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::SysVconstants andftokbehavior. - Implement System V semaphores:
semget,semop,semctl, and the
IPC::Semaphoresupport they require. - Implement shared memory:
shmget,shmat,shmdt,shmctl,memread,
andmemwrite. - Implement message queues:
msgget,msgsnd,msgrcv, andmsgctl. - 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).
- Ngôn ngữ chính
- Perl
- Star
- 64
- Fork
- 6
- Merge trung bình
- 5 giờ 38 phút
- Pull request đã merge (30 ngày)
- 170
Hướng dẫn đóng góp
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của fglock/PerlOnJava
-
area:cpan-port area:unicode bug
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 88/100
fglock/PerlOnJava#1341 ·
-
area:backend area:runtime bug
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 45/100
fglock/PerlOnJava#1511 ·
-
area:backend area:cpan-port bug
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 45/100
fglock/PerlOnJava#1508 · 1 bình luận ·
-
bug
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 45/100
fglock/PerlOnJava#1506 ·
-
bug enhancement
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 45/100
fglock/PerlOnJava#1502 ·
Tất cả issue của fglock/PerlOnJava
Issue tương tự
-
documentation Needs Triage
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 75/100
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 75/100
trizen/youtube-viewer#456 ·
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 70/100
-
connectivity Đang mở
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 80/100
-
Common US ingredient names are not recognized, so about 12.4k US products miss an allergen warning Đang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 75/100
openfoodfacts/openfoodfacts-server#14657 · 4 bình luận ·