)]}'
{
  "commit": "e3032bd090603b0344727647028d03273bd7d3f5",
  "tree": "685a127ebd2955e1d586cc0a1277b8d464788fc8",
  "parents": [
    "bdc803b54b55b61bb07cd75ba966320e42a9c3b7"
  ],
  "author": {
    "name": "Lorenz Brun",
    "email": "lorenz@monogon.tech",
    "time": "Thu Apr 13 14:43:41 2023 +0200"
  },
  "committer": {
    "name": "Lorenz Brun",
    "email": "lorenz@monogon.tech",
    "time": "Tue Apr 18 11:48:46 2023 +0000"
  },
  "message": "m/p/supervisor: allow signalling supervised processes\n\nUsing Command.Process.Signal to send signals to supervised processes\ncreates a data race between the Start function (called by Run) which\npopulates Command.Process and the access to that field.\nIntroduce a new option for RunCommand which takes a signal channel and\ninternally solves this race by first calling Start (at which point\nCommand.Process is populated and will not be mutated) and then spawning\na Goroutine which does the actual sending. This is safe at least on\nLinux since Go 1.7 [1].\n\n[1] https://github.com/golang/go/commit/cea29c4a358004d84d8711a07628c2f856b381e8\n\nChange-Id: Ibb76ef8a0434574c4df9ff85545987026518d8c0\nReviewed-on: https://review.monogon.dev/c/monogon/+/1540\nTested-by: Jenkins CI\nReviewed-by: Serge Bazanski \u003cserge@monogon.tech\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "699ea18896559f98949a6ba3effccd5cf70fca9e",
      "old_mode": 33188,
      "old_path": "metropolis/pkg/supervisor/supervisor_support.go",
      "new_id": "e7b5d34004d20e272f5cf119240b37e9340c7d75",
      "new_mode": 33188,
      "new_path": "metropolis/pkg/supervisor/supervisor_support.go"
    }
  ]
}
