HomePhabricator

workingctx: add a way for extensions to run code at status fixup time

Authored by sid0.

Description

workingctx: add a way for extensions to run code at status fixup time

Some extensions like fsmonitor need to run code after dirstate.status is
called, but while the wlock is held. The extensions could grab the wlock again,
but that has its own peculiar race issues. For example, fsmonitor would not
like its state to be written out if the dirstate has changed underneath (see
issue5581 for what can go wrong in that sort of case).

To protect against these sorts of issues, allow extensions to declare that they
would like to run some code to run at fixup time.

fsmonitor will switch to using this in the next patch in the series.

Details

Committed
sid0Jun 12 2017, 4:56 PM
Parents
rHG6d73b7ff8f92: workingctx: also pass status tuple into poststatusfixup
Branches
Unknown
Tags
Unknown