[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [GNUnet-developers] Make "gnunet-arm -e" not hang

From: Christian Grothoff
Subject: Re: [GNUnet-developers] Make "gnunet-arm -e" not hang
Date: Sat, 28 Sep 2019 01:02:30 +0200
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.9.0

I've for now pushed a fix where the detection that ARM is running isn't
done in PROGRAM_run() or SERVICE_run() but specifically by the programs
where we know that they need it, so in

$ gnunet-arm -e


$ gnunet-gns

The test (was/is) written to be synchronous, so if it is needed/desired
elsewhere, it can easily be done by calling

GNUNET_CLIENT_test (cfg, "arm");

(code works for other services, but I don't quite see how this can be
used usefully for anything but "arm").

It was a bit more complicated than expected, as I had to add signaling
from gnunet-service-arm to "gnunet-arm -s" to signal when
gnunet-service-arm is finished opening the listen socket.  This is now
done by passing over a pipe *hacking/abusing* the mechanism we
previously used for listen socket passing from ARM to *its* child
services.  Basically, when the ARM service inherits listen socket(s), it
just closes them _after_ opening its listen sockets, while all other
services would use these _as_ their listen socket(s).

On 9/27/19 2:25 PM, Schanzenbach, Martin wrote:
> Right now, my best idea is to modify GNUNET_PROGRAM_run() to detect "is
> ARM running" by asking it which services are running, and if we fail to
> detect the ARM listen socket, we give up hard.  Furthermore, we could
> pass information to GNUNET_PROGRAM_run() which subset of services ARM
> must support (via autostart or have launched), and again give up if the
> required service(s) are not in the set.

Attachment: signature.asc
Description: OpenPGP digital signature

reply via email to

[Prev in Thread] Current Thread [Next in Thread]