commit: 7c2a12d218faca7eec9e62f0b9491a5832b80d2b Author: Sergei Trofimovich <slyfox <AT> gentoo <DOT> org> AuthorDate: Thu Jun 18 22:09:21 2020 +0000 Commit: Sergei Trofimovich <slyfox <AT> gentoo <DOT> org> CommitDate: Thu Jun 18 22:09:21 2020 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=7c2a12d2
dev-lang/elixir: start erlang via 'empd -daemon' Original bug exposes some kind of a race in erlang process. It's not clear if 'epmd & exit' an unsafe construct or not. I'm assuming it's not safe. Let's see if it helps. Reported-by: Agostino Sarubbo Bug: https://bugs.gentoo.org/727344 Package-Manager: Portage-2.3.101, Repoman-2.3.22 Signed-off-by: Sergei Trofimovich <slyfox <AT> gentoo.org> dev-lang/elixir/elixir-1.10.3.ebuild | 1 + dev-lang/elixir/files/elixir-1.10.3-epmd-daemon.patch | 13 +++++++++++++ 2 files changed, 14 insertions(+) diff --git a/dev-lang/elixir/elixir-1.10.3.ebuild b/dev-lang/elixir/elixir-1.10.3.ebuild index 47f8a8ca078..5d77e804b6c 100644 --- a/dev-lang/elixir/elixir-1.10.3.ebuild +++ b/dev-lang/elixir/elixir-1.10.3.ebuild @@ -28,6 +28,7 @@ DEPEND+=" PATCHES=( "${FILESDIR}"/${PN}-1.9.1-disable-network-tests.patch "${FILESDIR}"/${PN}-1.10.3-no-Q.patch + "${FILESDIR}"/${PN}-1.10.3-epmd-daemon.patch ) src_install() { diff --git a/dev-lang/elixir/files/elixir-1.10.3-epmd-daemon.patch b/dev-lang/elixir/files/elixir-1.10.3-epmd-daemon.patch new file mode 100644 index 00000000000..48cfeb752b2 --- /dev/null +++ b/dev-lang/elixir/files/elixir-1.10.3-epmd-daemon.patch @@ -0,0 +1,13 @@ +Avoid exec/SIGCHLD race in daemon fork. +Let's see if it fixes race seen in https://bugs.gentoo.org/727344 +--- a/Makefile ++++ b/Makefile +@@ -280,7 +280,7 @@ test_elixir: test_stdlib test_ex_unit test_logger test_mix test_eex test_iex + + test_stdlib: compile + @ echo "==> elixir (ex_unit)" +- $(Q) exec epmd & exit ++ $(Q) epmd -daemon + $(Q) if [ "$(OS)" = "Windows_NT" ]; then \ + cd lib/elixir && cmd //C call ../../bin/elixir.bat -r "test/elixir/test_helper.exs" -pr "test/elixir/**/$(TEST_FILES)"; \ + else \
