mirror of
https://git.in.rschanz.org/ryan77627/guix.git
synced 2024-12-29 07:42:23 -05:00
ea119a288f
* gnu/packages/messaging.scm (ngircd): New variable. * gnu/packages/patches/ngircd-no-dns-in-tests.patch: New file. * gnu/packages/patches/ngircd-handle-zombies.patch: New file. * gnu-system.am (dist_patch_DATA): Add them.
36 lines
848 B
Diff
36 lines
848 B
Diff
The Guile process taking the role of PID 1 during Guix builds does not reap
|
|
zombie processes, which makes them continue responding to "kill -0".
|
|
|
|
--- a/src/testsuite/stop-server.sh 2015-02-05 11:24:00.535908842 +0100
|
|
+++ b/src/testsuite/stop-server.sh 2015-02-05 11:25:00.264351349 +0100
|
|
@@ -1,6 +1,21 @@
|
|
#!/bin/sh
|
|
# ngIRCd Test Suite
|
|
|
|
+process_is_alive(){
|
|
+ ! process_is_dead "$1" && ! process_is_undead "$1"
|
|
+}
|
|
+
|
|
+process_is_dead(){
|
|
+ ! kill -0 "$1"
|
|
+}
|
|
+
|
|
+process_is_undead(){
|
|
+ case $(ps -p "$1" -o state=) in
|
|
+ (Z*) true ;;
|
|
+ (*) false ;;
|
|
+ esac
|
|
+}
|
|
+
|
|
[ -z "$srcdir" ] && srcdir=`dirname $0`
|
|
|
|
# read in functions
|
|
@@ -24,7 +40,7 @@
|
|
|
|
# waiting ...
|
|
for i in 1 2 3 4 5; do
|
|
- kill -0 $pid > /dev/null 2>&1; r=$?
|
|
+ process_is_alive $pid > /dev/null 2>&1; r=$?
|
|
if [ $r -ne 0 ]; then
|
|
echo " ok".
|
|
exit 0
|