Thomas Leonard
Thomas Leonard
I guess the problem is at https://github.com/mirage/mirage/blob/master/lib/mirage.ml#L392: Fpath.(to_string (root / b.filename)) We should probably be using `//` here, and change the type of `b.filename` to `Fpath.t`. (see https://github.com/dbuenzli/fpath/blob/master/src/fpath.mli)
It seems reasonable to me to reject pure `job` unikernels, since we can't ensure any initialisation has happened before they start. This might also affect e.g. the random number generator....
Alternatively, we could just add a `()` argument to `start` in all cases. So it looks like ```ocaml let start dev1 .. devn () = ... ```
How do you compile this? I get: ``` In file included from ml_gpointer.c:31: ml_gpointer.c: In function ‘ml_stable_copy’: wrappers.h:38:33: error: ‘caml_young_end’ undeclared (first use in this function) 38 | (Is_block(v) &&...
I guess this bit won't work too well with multicore, right? ```ocaml (* naked pointers *) type optstring let raw_null = snd (Obj.magic Nativeint.zero) let optstring : string option ->...
It's because the `conn` argument to `Client.get` is now optional. That means that the connection can't outlive the call, which means you can't read the body. Looks like this broke...
However, we should make Eio not crash the event loop in this case!
One way to fix this would be to take a body parser argument and return the result of that, rather than leaving the connection open after the call returns.
The problem seems to be that we have one function (`call`) that is now trying to do two different things: 1. Take an existing connection and speak the HTTP protocol...
> The issue with RNG is e.g. fork() (which means that the RNG internal state is the same between parent and child process). Is there an issue with multicore (i.e....