Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add integration test of a one-shot server client in a spawned process #382

Closed
glyn opened this issue Jan 24, 2025 · 1 comment · Fixed by #383
Closed

Add integration test of a one-shot server client in a spawned process #382

glyn opened this issue Jan 24, 2025 · 1 comment · Fixed by #383

Comments

@glyn
Copy link
Contributor

glyn commented Jan 24, 2025

@jdm pointed out that Servo spawns a process, rather than using fork(), to create a child process which acts as a client to a one-shot server in the parent process. It would be good to add an integration test to this repository to cover that usecase.

Background

A Rust internals thread Why no fork() in std::process? discusses some of the downsides of fork() and links to the excellent paper A fork() in the road, which describes why spawning a process is much safer than using fork().

The Servo code that spawns a process is here. (It sometimes uses servo/gaol as an alternative to spawning a completely new process, so perhaps it would be worth adding a testcase for that usecase too.)

@glyn glyn changed the title Add test of a one-shot server client in a spawned process Add integration test of a one-shot server client in a spawned process Jan 24, 2025
@glyn
Copy link
Contributor Author

glyn commented Jan 25, 2025

To avoid duplication of effort: I'm looking to implement this.

glyn added a commit to glyn/ipc-channel that referenced this issue Jan 25, 2025
glyn added a commit to glyn/ipc-channel that referenced this issue Jan 25, 2025
glyn added a commit to glyn/ipc-channel that referenced this issue Jan 25, 2025
glyn added a commit to glyn/ipc-channel that referenced this issue Jan 25, 2025
glyn added a commit to glyn/ipc-channel that referenced this issue Jan 25, 2025
glyn added a commit to glyn/ipc-channel that referenced this issue Jan 25, 2025
glyn added a commit to glyn/ipc-channel that referenced this issue Jan 25, 2025
glyn added a commit to glyn/ipc-channel that referenced this issue Jan 25, 2025
glyn added a commit to glyn/ipc-channel that referenced this issue Jan 25, 2025
glyn added a commit to glyn/ipc-channel that referenced this issue Jan 25, 2025
github-merge-queue bot pushed a commit that referenced this issue Jan 25, 2025
* Add integration test

Fixes #382

* Skip integration test where not appropriate
@jdm jdm closed this as completed in #383 Jan 25, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant