Skip to content

Conversation

@jpco
Copy link
Collaborator

@jpco jpco commented Feb 7, 2024

Resolves #80.

I'm actually not sure if it's better to go with this "use the primitive if %run is unset" fallback, or to just throw an error if %run happens to be unset. The former is more useful but the latter is more consistent.

@jpco
Copy link
Collaborator Author

jpco commented Jul 8, 2024

Well, I was coming back to switch this to the more-consistent behavior (throw an error if %run isn't set) but it seems like there's a memory bug in this PR that causes es to crash with -DGCDEBUG=1 with the commands

fn-%run = () exit 

EDIT: Actually, I was wrong, I think this might have been one of the recent exception-related bug fixes that haven't been merged into my development branch. It works at head.

@jpco
Copy link
Collaborator Author

jpco commented Nov 27, 2024

@wryun, any opinion on this? It's not even approximately a bug fix so I don't feel confident merging it unilaterally.

jpco added a commit to jpco/es-shell that referenced this pull request Mar 10, 2025
This PR combines: - PR wryun#149, "Add a few things to make $&waiting more flexible." - PR wryun#90, "Use the %run hook function for running binaries." - A heap of new logic in proc.c and prim-sys.c, generally much cleaner than in the original newjobcontrol branch - Support for '+signame' signal handling to sig_ignore in the shell pgrp - A draft share/job-control.es script Overall things seem pretty solid. It even builds and runs successfully right now with `-ansi -D_POSIX_C_SOURCE=200112L -pedantic -DGCDEBUG=1`, which is a pleasant surprise. It still needs: - A lot of testing - Some more refactoring of pgroup handling, especially around exit statuses - Follow-up on WCONTINUED and WIFCONTINUED alternatives in POSIX.1-2001 (or whether ifdef'ing is worth it) - A way to hook the %interactive-loop to add signal handlers and run newpgrp on startup (this is a blocker to running job-control.es from .esrc right now)
jpco added a commit to jpco/es-shell that referenced this pull request Mar 10, 2025
This PR combines: - PR wryun#149, "Add a few things to make $&waiting more flexible." - PR wryun#90, "Use the %run hook function for running binaries." - A heap of new logic in proc.c and prim-sys.c, generally much cleaner than in the original newjobcontrol branch - Support for '+signame' signal handling to sig_ignore in the shell pgrp - A draft share/job-control.es script Overall things seem pretty solid. It even builds and runs successfully right now with `-ansi -D_POSIX_C_SOURCE=200112L -pedantic -DGCDEBUG=1`, which is a pleasant surprise. It still needs: - A lot of testing - Some more refactoring of pgroup handling, especially around exit statuses - Follow-up on WCONTINUED and WIFCONTINUED alternatives in POSIX.1-2001 (or whether ifdef'ing is worth it) - A way to hook the %interactive-loop to add signal handlers and run newpgrp on startup (this is a blocker to running job-control.es from .esrc right now)
jpco added a commit to jpco/es-shell that referenced this pull request Mar 10, 2025
This PR combines: - PR wryun#149, "Add a few things to make $&waiting more flexible." - PR wryun#90, "Use the %run hook function for running binaries." - A heap of new logic in proc.c and prim-sys.c, generally much cleaner than in the original newjobcontrol branch - Support for '+signame' signal handling to sig_ignore in the shell pgrp - A draft share/job-control.es script Overall things seem pretty solid. It even builds and runs successfully right now with `-ansi -D_POSIX_C_SOURCE=200112L -pedantic -DGCDEBUG=1`, which is a pleasant surprise. It still needs: - A lot of testing - Some more refactoring of pgroup handling, especially around exit statuses - Follow-up on WCONTINUED and WIFCONTINUED alternatives in POSIX.1-2001 (or whether ifdef'ing is worth it) - A way to hook the %interactive-loop to add signal handlers and run newpgrp on startup (this is a blocker to running job-control.es from .esrc right now)
jpco added a commit to jpco/es-shell that referenced this pull request Jun 21, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

1 participant