Hello,

Ian Jackson [16/Jan 12:43pm GMT] wrote:
> I thought of a number of options for such an arrangement:
>
>  1. dgit-repos-server uses the self-pipe trick turning (a) into an
>     fd, so that it can be selected on.  What a palaver, unless
>     there's a covnenient library we could use.
>
>  2. dgit rpush notifies dgit-repos-server by sending a signal to its
>     parent (!), and dgit-repos-server uses sigwait.  Does perl
>     even have a convenient way to sigwait?
>
>  3. dgit-repos-server forks again, for littel child whose job it is to
>     proxy the commit-to-public-upload dance.  That way if *that* child
>     doesn't crash, dgit-repos-server knows what the o2m protocol state
>     is.
>
>  4. dgit rpush writes the o2m protocol state to a file.
>     Before it starts the commit-to-public-upload dance it writes
>     UNKNOWN file.  After dgit rpush exits, dgit-repos-server can read
>     this file to see if it can reuse the o2m connection.  (dgit rpush
>     is very unlikely to crash during the commit-to-public-upload dance
>     unless it's because the o2m connection is in any case broken.)
>
>  5. Instead of modifying dgit rpush, provide a stunt wrapper for gpg.
>     This is *actually* the commitment point.  But the last thing we
>     want to do is get more entangled with the gnupg CLI interface.

(3) seems preferable to me.

> None of this seems entirely trivial.  4 is probably easiest but it's a
> bit of a bdoge!  We may want to downgrade this bug again, and postpone
> this work.

IMO this should definitely not block ending the beta.

-- 
Sean Whitton

Attachment: signature.asc
Description: PGP signature

Reply via email to