Macaulay2 / Macaulay2/M2

status codes

Open
#1,082 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Core
Dominant language
Macaulay2
Stars
435
Forks
297
Avg merge
4d 20h
Merged PRs (30d)
11

Description

The functions "run" and "wait" have return values that are hard to use and not as informative as they could be, and they didn't even work all that well until commit ab6b03b8679d909b975f071c6d6142f09846131a, commit d02d853c1fad2445fdc13e65ea82989aea0074fd, and commit 0304da334de3cfb7ee9e224741240a857a03ee5c. Perhaps better than returning a single integer would be to return a list {status code, signal number, whether core was dumped, whether process was stopped, whether process was continued}. The man page for waitpid describes the macros that can get all that information.

Then we should also consider replacing use of the "system" command with something that is more aggressive about not running /bin/sh to run the command, because then not all the information is available. Someone must have already written that in some GNU code, so maybe we could get it.

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the run and wait functions and read the waitpid man page, especially the status macros it describes. Determine the desired return representation and investigate the suggested alternative to system that avoids /bin/sh. Done requires an agreed design and implementation that preserves the relevant process-status information.

Written by the indexing model from the issue text.

Assessment

Domain
operating-systems
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.