From 6e31ee859657f329ff498808c419798d98d84416 Mon Sep 17 00:00:00 2001
From: Louis Thibault <l.thibault@sentimens.com>
Date: Wed, 18 Dec 2024 16:57:14 -0500
Subject: [PATCH] Pass process mailbox to stdin.

---
 proc/proc.go | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

diff --git a/proc/proc.go b/proc/proc.go
index b553d29..c2b0bf4 100644
--- a/proc/proc.go
+++ b/proc/proc.go
@@ -32,9 +32,12 @@ type Command struct {
 }
 
 func (cmd Command) Instantiate(ctx context.Context, r wazero.Runtime, cm wazero.CompiledModule) (*P, error) {
-	mod, err := r.InstantiateModule(ctx, cm, cmd.WithEnv(wazero.NewModuleConfig().
+	var p P
+	var err error
+	p.Mod, err = r.InstantiateModule(ctx, cm, cmd.WithEnv(wazero.NewModuleConfig().
 		WithName(cmd.PID.String()).
 		WithArgs(cmd.Args...).
+		WithStdin(&p.Mailbox).
 		WithStdout(cmd.Stdout).
 		WithStderr(cmd.Stderr).
 		WithEnv("WW_PID", cmd.PID.String()).
@@ -45,7 +48,7 @@ func (cmd Command) Instantiate(ctx context.Context, r wazero.Runtime, cm wazero.
 		WithSysNanotime().
 		WithSysWalltime().
 		WithStartFunctions()))
-	return &P{Mod: mod}, err
+	return &p, err
 }
 
 func (cfg Command) WithEnv(mc wazero.ModuleConfig) wazero.ModuleConfig {