Skip to content

Commit e794433

Browse files
fix help zombies
1 parent a5779c4 commit e794433

12 files changed

Lines changed: 50 additions & 18 deletions

File tree

package-lock.json

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "ollieos",
3-
"version": "2.3.4",
3+
"version": "2.3.5",
44
"description": "",
55
"main": "server.js",
66
"scripts": {

src/programs/clear.ts

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -46,8 +46,12 @@ export default {
4646
shell.memory.clear_history();
4747
term.writeln(`${STYLE.bold + FG.gray}Scrollback cleared.${STYLE.reset_all}`);
4848
break;
49-
case "-h":
50-
return await kernel.spawn("help", ["clear"], shell).completion;
49+
case "-h": {
50+
const spawn_result = kernel.spawn("help", ["clear"], shell);
51+
const exit_code = await spawn_result.completion;
52+
spawn_result.process.kill(exit_code);
53+
return exit_code;
54+
}
5155
default:
5256
term.writeln(`${FG.red}Invalid argument: ${args[0]}${STYLE.reset_all}`);
5357
return 1;

src/programs/hex.ts

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -50,8 +50,9 @@ export default {
5050

5151
if (args[0] === "-h") {
5252
const spawn_result = kernel.spawn("help", ["hex"], shell);
53-
spawn_result.process.kill(await spawn_result.completion);
54-
return 0;
53+
const exit_code = await spawn_result.completion;
54+
spawn_result.process.kill(exit_code);
55+
return exit_code;
5556
}
5657

5758
// get filepath

src/programs/ls.ts

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -34,8 +34,12 @@ export default {
3434
case "-a":
3535
show_hidden = true;
3636
break;
37-
case "-h":
38-
return await kernel.spawn("help", ["ls"], shell).completion;
37+
case "-h": {
38+
const spawn_result = kernel.spawn("help", ["ls"], shell);
39+
const exit_code = await spawn_result.completion;
40+
spawn_result.process.kill(exit_code);
41+
return exit_code;
42+
}
3943
default:
4044
path = fs.absolute(arg);
4145
}

src/programs/pkg/index.ts

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -609,7 +609,10 @@ export default {
609609
}
610610

611611
if (args.includes("-h")) {
612-
return await kernel.spawn("help", ["pkg"], shell).completion;
612+
const spawn_result = kernel.spawn("help", ["pkg"], shell);
613+
const exit_code = await spawn_result.completion;
614+
spawn_result.process.kill(exit_code);
615+
return exit_code;
613616
}
614617

615618
// create /var/lib/pkg if it doesn't exist so subcommands don't have to check

src/programs/reader.ts

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -42,8 +42,12 @@ export default {
4242
const sfx_reg = kernel.get_sound_registry();
4343

4444
switch (args[0]) {
45-
case "-h":
46-
return await kernel.spawn("help", ["clear"], shell).completion;
45+
case "-h": {
46+
const spawn_result = kernel.spawn("help", ["reader"], shell);
47+
const exit_code = await spawn_result.completion;
48+
spawn_result.process.kill(exit_code);
49+
return exit_code;
50+
}
4751
case "-q":
4852
// query screen reader mode
4953
term.writeln(`Screen reader mode is currently ${term.get_custom_flag("reader_support") ? "on" : "off"}.`);

src/programs/rss.ts

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -102,7 +102,10 @@ export default {
102102
const { PREFABS, STYLE, FG } = ANSI;
103103

104104
if (args.includes("-h")) {
105-
return await kernel.spawn("help", ["rss"], shell).completion;
105+
const spawn_result = kernel.spawn("help", ["rss"], shell);
106+
const exit_code = await spawn_result.completion;
107+
spawn_result.process.kill(exit_code);
108+
return exit_code;
106109
}
107110

108111
let max_items: number | undefined = undefined;

src/programs/shutdown.ts

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,8 +26,12 @@ export default {
2626

2727
for (const arg of args) {
2828
switch (arg) {
29-
case "-h":
30-
return await kernel.spawn("help", ["shutdown"], shell).completion;
29+
case "-h": {
30+
const spawn_result = kernel.spawn("help", ["shutdown"], shell);
31+
const exit_code = await spawn_result.completion;
32+
spawn_result.process.kill(exit_code);
33+
return exit_code;
34+
}
3135
case "-r":
3236
restart = true;
3337
break;

src/programs/spark/index.ts

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,10 @@ export default {
4747
}
4848

4949
if (args.includes("-h")) {
50-
return await kernel.spawn("help", ["spark"], shell).completion;
50+
const spawn_result = kernel.spawn("help", ["spark"], shell);
51+
const exit_code = await spawn_result.completion;
52+
spawn_result.process.kill(exit_code);
53+
return exit_code;
5154
}
5255

5356
switch (args[0]) {

0 commit comments

Comments
 (0)