Ticket #129: openrc-0.4.1-start-stop-daemon.patch
File openrc-0.4.1-start-stop-daemon.patch, 1.1 KB (added by vaeth@mathematik.uni-wuerzburg.de, 20 months ago) |
---|
-
src/rc/start-stop-daemon.c
658 658 mode_t numask; 659 659 char **margv; 660 660 unsigned int start_wait = 0; 661 bool retry = false; 662 char *retry_opt; 661 663 662 664 TAILQ_INIT(&schedule); 663 665 #ifdef DEBUG_MEMORY … … 694 696 break; 695 697 696 698 case 'R': /* --retry <schedule>|<timeout> */ 697 parse_schedule(optarg, sig); 699 retry = true; 700 if(optarg) 701 retry_opt = xstrdup(optarg); 702 else 703 retry_opt = NULL; 698 704 break; 699 705 700 706 case 'S': /* --start */ … … 837 843 sig != SIGKILL) 838 844 oknodo = true; 839 845 846 if (stop && !sig) 847 sig = SIGTERM; 848 849 if (retry) { 850 parse_schedule(retry_opt, sig); 851 if (retry_opt) 852 free(retry_opt); 853 } 854 840 855 if (!exec) 841 856 exec = startas; 842 857 else if (!name) … … 853 868 else if (exec) 854 869 *--argv = exec; 855 870 856 if (s top || sig) {871 if (sig) { 857 872 if (!*argv && !pidfile && !name && !uid) 858 873 eerrorx("%s: --stop needs --exec, --pidfile," 859 874 " --name or --user", applet); … … 954 969 } 955 970 margv = nav ? nav : argv; 956 971 957 if (stop || sig) { 958 if (!sig) 959 sig = SIGTERM; 972 if (sig) { 960 973 if (!stop) 961 974 oknodo = true; 962 975 if (!TAILQ_FIRST(&schedule)) {