• Dridi Boukelmoune's avatar
    cache: It's time for the big quit · 537b74f5
    Dridi Boukelmoune authored
    When mgt sends a command to the cache process, whether it is a period
    ping or an actual operation, it must complete within cli_timeout. When
    the cache fails to meet this requirement, mgt sends a SIGQUIT signal
    to the cache process. As a result the cache process MAY dump a core
    file for post-mortem analysis.
    
    When the core file is missing we are left to our own devices.
    
    To mitigate this, a new signal handler is added for SIGQUIT, but since
    we can't (or don't even try to) guarantee delivery on the CLI thread,
    we make a last-ditch effort to forward SIGQUIT signals to properly
    panic from the CLI thread. With a regular panic we may get both a panic
    report and a core dump.
    
    I didn't add test coverage for this, since we try to avoid intentional
    core dumps in test cases with the `no_coredump` feature flag that turns
    SIGQUIT into a SIGKILL signal.
    537b74f5
Name
Last commit
Last update
..
cache.h Loading commit data...
cache_acceptor.c Loading commit data...
cache_backend.c Loading commit data...
cache_backend.h Loading commit data...
cache_backend_probe.c Loading commit data...
cache_ban.c Loading commit data...
cache_ban.h Loading commit data...
cache_ban_build.c Loading commit data...
cache_ban_lurker.c Loading commit data...
cache_busyobj.c Loading commit data...
cache_cli.c Loading commit data...
cache_conn_pool.c Loading commit data...
cache_conn_pool.h Loading commit data...
cache_deliver_proc.c Loading commit data...
cache_director.c Loading commit data...
cache_director.h Loading commit data...
cache_esi.h Loading commit data...
cache_esi_deliver.c Loading commit data...
cache_esi_fetch.c Loading commit data...
cache_esi_parse.c Loading commit data...
cache_expire.c Loading commit data...
cache_fetch.c Loading commit data...
cache_fetch_proc.c Loading commit data...
cache_filter.h Loading commit data...
cache_gzip.c Loading commit data...
cache_hash.c Loading commit data...
cache_http.c Loading commit data...
cache_lck.c Loading commit data...
cache_main.c Loading commit data...
cache_mempool.c Loading commit data...
cache_obj.c Loading commit data...
cache_obj.h Loading commit data...
cache_objhead.h Loading commit data...
cache_panic.c Loading commit data...
cache_pool.c Loading commit data...
cache_pool.h Loading commit data...
cache_range.c Loading commit data...
cache_req.c Loading commit data...
cache_req_body.c Loading commit data...
cache_req_fsm.c Loading commit data...
cache_rfc2616.c Loading commit data...
cache_session.c Loading commit data...
cache_shmlog.c Loading commit data...
cache_transport.h Loading commit data...
cache_varnishd.h Loading commit data...
cache_vary.c Loading commit data...
cache_vcl.c Loading commit data...
cache_vcl.h Loading commit data...
cache_vgz.h Loading commit data...
cache_vpi.c Loading commit data...
cache_vrt.c Loading commit data...
cache_vrt_filter.c Loading commit data...
cache_vrt_priv.c Loading commit data...
cache_vrt_re.c Loading commit data...
cache_vrt_var.c Loading commit data...
cache_vrt_vcl.c Loading commit data...
cache_vrt_vmod.c Loading commit data...
cache_wrk.c Loading commit data...
cache_ws.c Loading commit data...
cache_ws_common.c Loading commit data...
cache_ws_emu.c Loading commit data...