source: src-sh/pc-extractoverlay/ports-overlay/usr/local/etc/rc.d/ix_diagnose @ 4c8cfab

9.2-releasereleng/10.0releng/10.0.1
Last change on this file since 4c8cfab was 4c8cfab, checked in by Kris Moore <kris@…>, 8 months ago

Add the iX crash reporter util framework

  • Property mode set to 100755
File size: 1000 bytes
Line 
1#!/bin/sh
2#
3# $FreeBSD$
4#
5
6# PROVIDE: ix_diagnose
7# REQUIRE: NETWORKING FILESYSTEMS
8# KEYWORD: nojail
9
10. /etc/rc.subr
11
12name="ix_diagnose"
13rcvar="ix_diagnose_enable"
14start_cmd="ix_diagnose_start"
15stop_cmd="ix_diagnose_stop"
16
17ix_diagnose_start()
18{
19        local _pidfile
20        local _seconds
21
22        # add /usr/local/bin for python..
23        PATH="$PATH:/usr/local/bin:/usr/local/sbin"
24        export PATH
25        _pidfile=`mktemp -t ix_diagnose`
26        (
27                sh -x /usr/local/bin/ixdiagnose -b \
28                        > /tmp/ixdiagnose_boot.log 2>&1 &
29                pid=$!
30                echo $pid > $_pidfile;
31                wait
32                rm $_pidfile
33        ) &
34
35        _seconds=5
36
37        echo -n "Waiting up to $_seconds seconds for ixdiagnose to finish..."
38        (
39                while [ $_seconds -gt 0 ] ; do
40                        for i in 1 2 3 4 5 6 7 8 9 0 ; do
41                                if [ ! -e "$_pidfile" ] ; then
42                                        echo " done."
43                                        exit 1
44                                fi
45                                sleep 0.1
46                        done
47                        echo -n " $_seconds"
48                        _seconds=$(($_seconds - 1))
49                done
50                echo ". timed out.  Will proceed in the background."
51        )
52}
53
54ix_diagnose_stop()
55{
56        # nothing
57}
58
59load_rc_config $name
60run_rc_command "$1"
61
Note: See TracBrowser for help on using the repository browser.