History log of /fuchsia/zircon/third_party/uapp/dash/src/process.c
Revision Date Author Comments
# 4f33481b 27-Jun-2018 Adam Barth <abarth@google.com>

[dash] Switch to fdio_spawn_etc

Most codepaths that create processes should use fdio_spawn rather than
launchpad directly.

Test: Manually verified that the shell continues to work.
Change-Id: I0e9b21f17ac7b21b92a5bedd5bacf121dee8ff02


# 05e1b14b 26-Jun-2018 Gary Miguel <garymm@google.com>

Revert "[dash] Switch to fdio_spawn_etc"

This reverts commit 157ba5410b36a86bda605ee77e6486c542d8c765.

Reason for revert: Breaks shell in zedboot

Test: "fx full-build && fx mkzedboot" with and without this change (and https://fuchsia-review.googlesource.com/c/zircon/+/169514)
Before this change, dash fails to launch processes.
With this change, dash can launch processes.

Change-Id: I6943cb164e127feafd798df632bdae68657abac0


# 157ba541 17-Jun-2018 Adam Barth <abarth@chromium.org>

[dash] Switch to fdio_spawn_etc

Most codepaths that create processes should use fdio_spawn rather than
launchpad directly.

Test: Manually verified that the shell continues to work.
Change-Id: I820b2079fba3123b955ac1071a81a09aa778dcfd


# 379f22fa 06-Jun-2018 Adam Barth <abarth@google.com>

[fdio] Move headers into lib/fdio/...

Change-Id: Ie8d74e716da913bf6e2672c4acf8cd67b4962b7f


# 097c6ab1 24-Jan-2018 Steve Austin <steveaustin@google.com>

[dash] enable ctrl-c in interpreters running under a pty

Change-Id: Ifc5fde187ac9aefd735b94099f5551512381020d


# f028d62f 24-Jan-2018 Steve Austin <steveaustin@google.com>

[dash] enable ctrl-c in interpreter (Revert)

This reverts commit df2e3a471711d219e6b0d217fe443cfe5ddde6e5.

Reason for revert: Causes breakages with commands run via netcmd.

Original change's description:
> [dash] enable ctrl-c in interpreter
>
> Change-Id: I4f4b7ab18ab79e3b30db008d6b98f6850ad53b67

TBR=jeffbrown@google.com,abarth@google.com,steveaustin@google.com

Change-Id: I82f25fe8f25324bce4ff8cb30952bb1826066848
No-Presubmit: true
No-Tree-Checks: true
No-Try: true


# df2e3a47 11-Jan-2018 Steve Austin <steveaustin@google.com>

[dash] enable ctrl-c in interpreter

Change-Id: I4f4b7ab18ab79e3b30db008d6b98f6850ad53b67


# e41908e8 19-Oct-2017 Sean Klein <smklein@google.com>

[fdio][launchpad] Open CWD relative to root, using PWD env variable

With fallback path to PWD = "/", if no environment variable
named PWD is provided.

This improves the launchpad API by reducing the risk that a client
could unintentionally provide a CWD handle to a subprocess
which exists outside the subprocess' sandboxed root.

Change-Id: Icc9cfa002d7036e2de2b7775ae10cc04dba13f4d


# 5728a7f3 26-Sep-2017 George Kulakowski <kulakowski@google.com>

[dash] Fix error reporting from process_launch

Before this, an int in the style of unix process exit() values (0
success, low numbers or high 120s different kind of bad, etc.) was
returned, but logged as though it were a zx_status_t. This tweaks
process_launch to return both styles and to print the more informative
zx_status_t to stderr, with $? still set correctly to the unix style.

Change-Id: I66cb615b2b83318829029f506f1e0f8156051eb4


# f3e2126c 12-Sep-2017 Roland McGrath <mcgrathr@google.com>

[zx] Magenta -> Zircon

The Great Renaming is here!

Change-Id: I3229bdeb2a3d0e40fb4db6fec8ca7d971fbffb94


# c4872b63 26-Jun-2017 Adam Barth <abarth@chromium.org>

[procargs][mxio][launchpad] Remove MXIO_ROOT

There are no longer any clients of this startup handle. This patch keeps some
of the client machinery in mxio for devmgr. It will be removed in a future
patch.

Change-Id: I4eccd4a19a616d4847d9ab1ac07b9d00b62ad5ef


# 16ddb402 09-Jun-2017 George Kulakowski <kulakowski@google.com>

[dash] Migrate to the new MX_ error codes

Change-Id: I82e4ba00bc1cbe3609f74781b505d6476a7b2365


# 15abe4de 22-May-2017 Adam Barth <abarth@chromium.org>

[dash][run-vc] Remote ApplicationEnvironment code

Now that we use namespaces in Fuchsia-land, we don't need the
ApplicationEnvironment-related code anymore.

Change-Id: Iae4181bd72efa63b59d97c46c61994644aac7193


# c3339a05 12-May-2017 George Kulakowski <kulakowski@google.com>

[dash] Teach dash about launchpad error messages and mx_status_t names

Launchpad makes such nice error messages. Let's use them.

Change-Id: Icf6c68ec4395dd19bd8da2b64aef2b4d36123556


# c294fabb 24-Apr-2017 Brian Swetland <swetland@google.com>

[processargs] tidy up naming and numbering

This cleans stuff up ahead of the addition of string tables for
the upcoming PA_NS_DIR and PA_NS_REQ types and the eventual
flattening of PA_MXIO_* to a single type, using subtypes for
protocol.

- Align names with current-day usage
- Organize numbering / ordering around subsystem usage
- Reduce "type" field to 8 bits
- Reserve space for "subtype" field
- Use PA_ namespace and shorter a lot of very long names

Change-Id: I5e59f412c3b9bd79d90f921a248a6d98d4b703bc


# 87542a25 27-Feb-2017 Josh Conner <joshconner@google.com>

[dash] Pass variable definitions to subshells

Fixes the behavior of passing variables to subshells in the
environment, which improperly exported them. Now, we pass the
variables in a symbol table that is part of the context
provided to a subshell in a handle.

Change-Id: Ie4809f8f821100544920cf0b5040af9ea3f21aca


# 3350ce84 24-Feb-2017 Josh Conner <joshconner@google.com>

[dash] Pass command-line args to subshells.

Change-Id: I1db939d69bd71154e96cb533386f1380279daa09


# 938c098f 23-Feb-2017 Josh Conner <joshconner@google.com>

[dash] Subshells inherit function definitions

Pass function definitions to subshells. To accomplish this,
instead of passing a single command to the subshell we pass a
list of commands, with the function definitions as the first
items in the list.

Change-Id: I0f9dd51e6aaa6bbcfac4acbb83003900fd6d8a72


# 92a51def 21-Feb-2017 Dave Bort <dbort@google.com>

[magenta] Migrate Magenta's uses of mxio_get_startup_handle

Leave the compatibility shim in place until Fuchsia-at-large migrates.

For MG-228: "get startup handles should not live in mxio"

Change-Id: I5bf53388585520bf7d4b5acc31902bfc7797489d


# 22475106 16-Feb-2017 Brian Swetland <swetland@google.com>

[dash] tidy up usage of new launchpad api

Change-Id: I1bb96a78e1514d1cf4783a6f4baadab6e5e97ed1


# e55b92da 10-Feb-2017 Brian Swetland <swetland@google.com>

[syscalls] update callers to mx_handle_wait_*() and deprecate

Change-Id: I7b0516007b99d58aee906eac62358625100ee32e


# 87550066 01-Feb-2017 Josh Conner <joshconner@google.com>

[dash] Don't pass args to subshell.

Change-Id: Ie62068048d58be46818c03cb428b68dd375594d6


# ac67e440 30-Jan-2017 Dave Bort <dbort@google.com>

[devmgr][mxio] Add a system-wide loader service

Add a dmctl ioctl to get a handle to a shared system loader service,
which translates paths like "libhid.so" into VMOs containing the named
object's data.

Launchpad and other users of mxio_loader_service() will automatically
prefer the system loader service if available.

Before this, loading was done by in-process threads, which meant that
those processes needed filesystem access. This is a step towards
supporting dynamic binaries with no filesystem rights.

For now, the system loader service uses the same code as the in-process
loader service, but this may change. It also needs to be smarter to
avoid starvation from bad processes (MG-491).

Moving the loader-related prototypes to a new header caused some ripple
effects for code that depended on transitive includes from mxio/util.h.

For MG-451: "loader service"

Change-Id: I8adb534b55f96334017e979da6af263e19095d84


# d6e44820 25-Jan-2017 Josh Conner <joshconner@google.com>

[dash] Add pipe support.

Change-Id: Id2788359ddf4613eea2dc75f8a08448a64e51922


# 2c8808d0 24-Jan-2017 Josh Conner <joshconner@google.com>

[dash] Add backtick support

Unify the process execution infrastructure and build support for
$(cmd) and `cmd` constructs.

Change-Id: I235a58fd09a258e7c8687d26b13b6cefc4ddedb1


# 1d0b3b59 20-Jan-2017 Josh Conner <joshconner@google.com>

[dash] Pass all variables to a subshell.

Change-Id: I6580cd0b957f0ab6c9348d6af94b3d359208a2f3


# a3eae333 11-Jan-2017 Brian Swetland <swetland@google.com>

[launchpad] remove launchpad_get_mxio_job()

The general mx_job_default() supercedes this functionality.

Change-Id: I2758d4d533ef704f598de9b9f8118adfa538168e


# 20aff3a1 20-Dec-2016 Carlos Pizano <cpu@google.com>

[system][launchpad] Exposed cached job handle

From existing user and from trying to write tests
it is clear that we should give access to the cached
job handle (from mxio) that launchpad holds.

Else people are going to invent lesser versions for
example here dash.

Change-Id: I3ea287fe1abcb36bebd94db62ab60ff603420255


# 92f9e3dd 16-Dec-2016 Zachary Anderson <zra@google.com>

Pass the right environment to launchpad_environ()

Change-Id: I08ecd31cfde1a3937984199d288fca4ec936a6eb


# 140b2ad3 02-Dec-2016 Adam Barth <abarth@chromium.org>

[dash] Implement foreground subshells

Dash can now execute AST fragments in subprocesses, which means commands
like the following work:

$ (echo 42)
42

Change-Id: I66a994f9de9d3541d1c830c0db75ce09f3196e9f


# 8ea19837 01-Dec-2016 Adam Barth <abarth@chromium.org>

[dash] Add support for ApplicationEnvironments

This feature is similar to the one in mxsh.

Change-Id: If19e1634132b4a557c5578c97f76e019bbd59883


# 619a1b70 30-Nov-2016 Adam Barth <abarth@chromium.org>

[dash] Make basic commands work

After this patch, /bin/sh has a reasonable default path, can search it
and, actually run child processes.

Change-Id: I0ec5f8405226ec1254f9f772cbece5f116c28981