You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Support assignment to the effective UID special variable ($>) #1972
Proc::DaemonLite 0.01 fails its upstream tests on PerlOnJava because the module's END block runs $> = $< to restore the effective user ID, and assigning to $> raises Modification of a read-only value attempted.
The same assignment is accepted by system Perl. In archived CPAN run 20261104-151051-20617, t/11pod_coverage.t and t/20compile.t completed their assertions but exited 22 when this END block ran. A minimal assignment reproduces the failure on both JVM and interpreter backends.
Evidence
Distribution: Proc-DaemonLite 0.01, pure Perl.
System Perl 5.42.2: full suite passes, 3 test programs and 4 tests, with Test::Pod::Coverage installed in the isolated oracle environment.
PerlOnJava 5.44.1: both JVM and interpreter report the read-only assignment error.
State: released
Agent/session: codex-20261104-proc-daemonlite-1972
Scope: #1972, assignment semantics for effective UID $> and focused regression coverage.
Work: merged PR #1974, merge commit 289e34284d00c7a41d9272847cd272feee25c6dd.
Checkpoint: 2026-11-04; fix merged after both Ubuntu and Windows CI jobs passed. The regression passes under system Perl and both PerlOnJava backends; Proc-DaemonLite t/20compile.t passes on both backends; full make and link checks passed.
Evidence: CPAN run 20261104-151051-20617; follow-up on #1972 records the Windows identity-change boundary.
Blocked by: none.
Next: none.
changed the title [-]Support assignments to process identity special variables[/-][+]Support assignment to the effective UID special variable ($>)[/+]on Nov 4, 2026
Implemented and merged in PR #1974 (289e34284d00c7a41d9272847cd272feee25c6dd). $> assignments now call POSIX seteuid and preserve the special-variable setter path on both execution backends. The regression and Proc-DaemonLite t/20compile.t pass on JVM and interpreter; the full make gate passed, and both Ubuntu and Windows CI jobs passed.
Platform boundary: the Windows POSIX emulation accepts assigning the current effective UID but does not emulate changing the process identity. The reported Proc-DaemonLite failure is fixed on POSIX systems.
Activity
fglock commentedon Nov 4, 2026
State: released
Agent/session: codex-20261104-proc-daemonlite-1972
Scope: #1972, assignment semantics for effective UID
$>and focused regression coverage.Work: merged PR #1974, merge commit
289e34284d00c7a41d9272847cd272feee25c6dd.Checkpoint: 2026-11-04; fix merged after both Ubuntu and Windows CI jobs passed. The regression passes under system Perl and both PerlOnJava backends; Proc-DaemonLite
t/20compile.tpasses on both backends; fullmakeand link checks passed.Evidence: CPAN run
20261104-151051-20617; follow-up on #1972 records the Windows identity-change boundary.Blocked by: none.
Next: none.
[-]Support assignments to process identity special variables[/-][+]Support assignment to the effective UID special variable ($>)[/+]docs: link effective UID issue to its PR (#1972)
fglock commentedon Nov 4, 2026
Implemented and merged in PR #1974 (
289e34284d00c7a41d9272847cd272feee25c6dd).$>assignments now call POSIXseteuidand preserve the special-variable setter path on both execution backends. The regression and Proc-DaemonLitet/20compile.tpass on JVM and interpreter; the fullmakegate passed, and both Ubuntu and Windows CI jobs passed.Platform boundary: the Windows POSIX emulation accepts assigning the current effective UID but does not emulate changing the process identity. The reported Proc-DaemonLite failure is fixed on POSIX systems.