On Tue, Sep 15, 2020 at 04:18:28PM +0100, Boyan Karatotev wrote: > On 07/09/2020 11:27 am, Dave Martin wrote: > > On Thu, Sep 03, 2020 at 11:20:25AM +0100, Boyan Karatotev wrote: > >> On 02/09/2020 18:00, Dave Martin wrote: > >>> On Fri, Aug 28, 2020 at 02:16:05PM +0100, Boyan Karatotev wrote: > >>>> +int exec_sign_all(struct signatures *signed_vals, size_t val) > >>>> +{ > >>> > >>> Could popen(3) be used here? > >>> > >>> Fork-and-exec is notoriously fiddly, so it's preferable to use a library > >>> function to do it where applicable.I would love to, but the worker needs a bidirectional channel and popen > >> only gives a unidirectional stream. > > > > Ah, fair point. > > > > Would it help if you created an additional pipe before calling popen()? > > > > May not be worth it, though. For one thing, wiring that extra pipe to > > stdin or stdout in the child process would require some extra work... > Well, I probably could, but I doubt the result would be any better. I > agree that I'm not sure the effort is worth it and would rather keep it > the same. Sure, fair enough. Ideally kselftest would provide some common code for this sort of thing, but I guess that's a separate discussion. Cheers ---Dave