services: postgresql-roles: Fix race condition.
authorMathieu Othacehe <othacehe@gnu.org>
Tue, 23 Feb 2021 10:00:18 +0000 (11:00 +0100)
committerMathieu Othacehe <othacehe@gnu.org>
Tue, 23 Feb 2021 10:00:18 +0000 (11:00 +0100)
commit1a8cfb6d4c767d6cb19689404d7d0bca336ed0d6
tree9e2f32e641c81450466d73b36df14ebc3f6437d4
parentbebcf97600b2fa65482ae8ee870800dafa34d3f8
services: postgresql-roles: Fix race condition.

Make sure that the postgresql-roles script is completed before declaring the
postgresql-roles service as started.

* gnu/services/databases.scm (postgresql-create-roles): Return the command
line instead of a program-file.
(postgresql-role-shepherd-service): Use fork+exec-command to start the role
creation script and wait for its completion before returning.
gnu/services/databases.scm