Age | Commit message (Collapse) | Author | Files |
|
|
|
|
|
* doc/pies.texi: Document changes.
* src/inetd.c (listel_dispose): Remove static qualifier.
* src/pies.h (status_cond): New struct.
(action): Replace nstat, status with cond_list.
(listel_dispose): New prototype.
* src/pies.c (action_free): Free cond_list.
(create_action): Rewrite.
* src/progman.c (status_matches_p): Rewrite.
|
|
* src/progman.c (progman_stop): Fix waiting for shutdown components
loop.
|
|
|
|
|
|
* src/progman.c (progman_cleanup): As a precaution, react on
events from active components.
|
|
* lib/envop.c (envop_cmp): Fix coredump on name == NULL (eval statement
in env).
* lib/pp.c: Add missing include.
* src/comp.c: Fix format conversions.
* src/pies.c (main): Call gc early, so that old components are stopped
before starting new ones. Don't raise PIES_CHLD_WAKEUP.
* src/progman.c (progman_gc): Call progman_cleanup before checking if
any programs are left running.
Fix format conversions.
|
|
|
|
* NEWS: Document changes.
* doc/pies.texi: Document changes.
* src/cmdline.opt: New option --list-shutdown-sequence
* src/comp.c (compute_shutdown_sequence)
(component_shutdown_list,components_list_shutdown_sequence)
(components_shutdown_sequence_numbers): New functions.
(component_config_commit): Compute shutdown sequences for
each component.
* src/pies.c: Handle the --list-shutdown-sequence option.
* src/pies.h (component) <shutdown_seqno>: New field.
(components_list_shutdown_sequence)
(components_shutdown_sequence_numbers): New prototypes.
* src/progman.c (progman_gc): Rewrite.
(progman_stop): Rewrite.
* tests/shdnseq.at: New test.
* tests/sigwait.c: Take options -n and -f FILE.
Open file in append mode. Lock it before writing.
* tests/Makefile.am: Add new test.
* tests/testsuite.at: Include new test.
|
|
* NEWS: Document changes.
* doc/pies.texi: Document changes.
* src/comp.c (component_create): Initialize sigterm field.
* src/pies.h (component): New field: sigterm.
* src/pies.c (strtosignum): New function.
(create_action): Use strtosignum.
(_cb_signal): New callback.
(component_keywords): New keyword "sigterm".
* src/progman.c (prog_sigterm): New function.
(link_prog, progman_cleanup)
(progman_stop_component): Use prog_sigterm.
(print_status): Change semantics of expect_term: it means termination
signal, if not 0.
* tests/sigterm.at: New test.
* tests/sigwait.c: New test program.
* tests/Makefile.am: Add new test.
(noinst_PROGRAMS): Add sigwait.
* tests/testsuite.at: Include new test.
|
|
|
|
* src/ctl.c (input_append): Treat Content-Length: 0 correctly
|
|
* grecs: update.
* src/ctl.c: Use "message" everywhere. Remove all uses of
"error_message" attribute.
* src/piesctl.c (shttp_print_response_status): Special handling for
empty responses.
|
|
* NEWS: Update.
* configure.ac: Version 1.7.91
* grecs: pull 2d75be5
* src/pies.c (main): Clear children_op flag immediately after testing it.
The intent is to avoid accidentally clearing bits that might have been set
when processing (in particular - PIES_CHLD_CLEANUP). Note, that this
generalizes 3b52d3d8.
|
|
* grecs: Pull 03874326
|
|
|
|
Fallback log file is a file where pies writes out of band log messages,
i.e. messages about not being able to open syslog socket or send logs
to it. Regular log messages are diverted to this file if syslog was
requested, but cannot be used because of a permanent error.
* configure.ac (FALLBACK_LOG): New configuration variable. Defines
the location of the pies fallback log file.
* src/Makefile.am (AM_CPPFLAGS): Define FALLBACK_LOG.
* src/pies.c (syslog_kw): New configuration file statement:
fallback-file.
* src/syslog.c (pies_fallback_file): Initialize with FALLBACK_LOG.
(reopen_logger): Fix diagnostic messages. Disable syslog if unable
to connect to it and the error is permanent.
(pies_syslog_flush): Use fallback log file if syslog socket is
disabled.
|
|
* src/pies.c (main): Reorder calls to progman_wake_sleeping and
progman_recompute_alarm according to their dependencies: the former
may raise the PIES_CHLD_RESCHEDULE_ALARM, which should trigger
the latter.
|
|
|
|
|
|
* src/prog.h: Use unsigned for 1-bit field's type.
|
|
* grecs: Upgrade to 03044f768f.
* lib/pp.c (pp_add_option): Don't insert grecs_preprocessor
at the begiinig yet.
(pp_command_line): Insert grecs_preprocessor at the beginning of
the resulting string. This way the --preprocessor option is
honored even if it appears after any -I or -D options in the
command line.
* src/cmdline.opt (pies_help_hook): Remove unused variable.
* configure.ac: Version 1.7.90.
* NEWS: Update.
* src/progman.c (prog_start): Minor unrelated fix
|
|
|
|
|
|
|
|
* grecs: Pull 1569e6e3f73e5
* src/pies.c: Use grecs_preprocess for preprocessing
* src/piesctl.c: Likewise.
|
|
|
|
|
|
* doc/pies.texi: Describe the use of xenv as a preprocessor.
|
|
This restores the fix introduced by commit 5f2769a0 and inadvertently
removed in 0b425c88.
* src/pies.c (init_detect): Set up SIGCHLD no if pid is 1, no matter
what the value of PIES_SYSVINIT_ENABLED.
|
|
|
|
|
|
The installation directory for pp-setup can be set at configure time
using the --with-pp-setup option. To disable installing it, use
--without-pp-setup.
* NEWS: Raise patchlevel.
* configure.ac (DEFAULT_INCLUDE_PATH): New variable.
(PIES_INCDIR): New substitution variable.
New option --with-pp-setup.
* grecs: Pull 7427077b98.
* src/Makefile.am (DEFAULT_VERSION_INCLUDE_DIR)
(DEFAULT_INCLUDE_DIR): Replace by DEFAULT_INCLUDE_PATH.
Install pp-setup conditionally.
* src/cmdline.opt (pies_help_hook): Print include path.
Fix arguments to grecs_find_include_file.
* src/pies.c (config_init): Use DEFAULT_INCLUDE_PATH to
initialize include path.
* src/piesctl.c: Likewise.
|
|
* src/pies.c (init_detect): Set init_process to 0 if PIES_SYSVINIT_ENABLED
is 0
|
|
|
|
* lib/envop.c (environ_free): Free the env block itself.
(envop_cmp): New function.
* lib/envop.h (envop_cmp): New proto.
* src/comp.c (argvcmp): Fix segmentation fault that occurred when
both a and b were NULL.
(component_match): Compare command, envop, and umask.
|
|
|
|
This is mainly to avoid failures on stale pidfiles when ruinning with
PID 1 (init or docker entrypoint) and also for less-probable cases when
starting with the same PID as the one stored in the stale pidfile.
|
|
|
|
* src/pies.c (is_docker): Fix parsing of the /proc/self/cgroup file.
|
|
* NEWS: Document changes.
* doc/pies.texi: Document changes.
* src/cmdline.opt: Don't set preprocessor if DEFAULT_PREPROCESSOR
is NULL.
* src/piesctl-cl.opt: New options: --preprocessor,
--no-preprocessor.
* src/piesctl.c (parse_config): If either client.url or
default_url is set in the program-specific config, use it
and don't parse pies.conf. This is consistent with the
documented behavior.
(main): Initialize grecs_preprocessor.
|
|
* configure.ac: Report selected preprocessor.
Version 1.5.90.
* doc/Makefile.am: Don't distribute gendocs.pl and gendocs_template
* grecs: Upgrade.
* lib/pp.c (pp_command_line): Use the grecs_preprocessor variable
instead of DEFAULT_PREPROCESSOR macro.
* src/cmdline.opt: New options: --preprocessor and --no-preprocessor.
Report the preprocessor command and setup file when called with --help.
* src/pies.c (config_init): Initialize grecs_preprocessor.
* NEWS: Document changes.
* doc/pies.texi: Document new options.
* tests/accept.at: Invoke pies with --no-preprocessor.
* tests/builtin.at: Likewise.
* tests/control.at: Likewise.
* tests/cyclic.at: Likewise.
* tests/env.at: Likewise.
* tests/envglobal.at: Likewise.
* tests/expandenv.at: Likewise.
* tests/inet.at: Likewise.
* tests/maxinst.at: Likewise.
* tests/passfd.at: Likewise.
* tests/redirect.at: Likewise.
* tests/respawn.at: Likewise.
* tests/ret-exec.at: Likewise.
* tests/ret-notify.at: Likewise.
* tests/shell.at: Likewise.
* tests/shutdown.at: Likewise.
* tests/startup.at: Likewise.
|
|
|
|
|
|
|
|
|
|
* src/syslog.c (log_message): New field: trunc.
(log_message_in_create): Initialize trunc
(log_message_in_format): Raise trunc on buffer overflow.
(log_message_enqueue): Emit the "message truncated" diagnostics
when needed.
|
|
* src/progman.c (redirect_read): Break the loop if no newline is found.
|
|
|