Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Overview
| Comment: | Changed previous to call fossil_exit() instead of exit(3) so we close our databases before dying. |
|---|---|
| Downloads: | Tarball | ZIP archive |
| Timelines: | family | ancestors | descendants | both | trunk |
| Files: | files | file ages | folders |
| SHA3-256: |
7c857d2233b7c197aab7a71c5558e03f |
| User & Date: | wyoung 2022-08-14 18:01:06.052 |
Context
|
2022-08-14
| ||
| 18:48 | Moved the SIGTERM handler up before the "fossil server" HTTP hit handler. We had it clustered with the other signal() calls, but those are to handle signals intended to occur only during CGI processing. This one will normally occur while we're blocked, waiting for the HTTP hit to occur, so it had no useful effect where it was. ... (check-in: d3c55fe024 user: wyoung tags: trunk) | |
| 18:01 | Changed previous to call fossil_exit() instead of exit(3) so we close our databases before dying. ... (check-in: 7c857d2233 user: wyoung tags: trunk) | |
| 17:59 | The parent process now handles SIGTERM with an explicit exit(3) call when its PID is 1, as when it's running as "fossil server" in a Docker container. Without this, the container host's shutdown process takes a long time because it's waiting on PID 1 to die and eventually has to time out and kill it. ... (check-in: 1d09e60739 user: wyoung tags: trunk) | |
Changes
Changes to src/main.c.
| ︙ | ︙ | |||
3328 3329 3330 3331 3332 3333 3334 |
if( getpid()==1 ){
/* Modern kernels suppress SIGTERM to PID 1 to prevent root from
** rebooting the system by nuking the init system. The only way
** Fossil becomes that PID 1 is when it's running solo in a Linux
** container or similar, so we do want to exit immediately, to
** allow the container to shut down quickly.
**/
| | | 3328 3329 3330 3331 3332 3333 3334 3335 3336 3337 3338 3339 3340 3341 3342 |
if( getpid()==1 ){
/* Modern kernels suppress SIGTERM to PID 1 to prevent root from
** rebooting the system by nuking the init system. The only way
** Fossil becomes that PID 1 is when it's running solo in a Linux
** container or similar, so we do want to exit immediately, to
** allow the container to shut down quickly.
**/
signal(SIGTERM, fossil_exit);
}
if( g.fAnyTrace ){
fprintf(stderr, "/***** Subprocess %d *****/\n", getpid());
}
g.cgiOutput = 1;
find_server_repository(2, 0);
if( fossil_strcmp(g.zRepositoryName,"/")==0 ){
|
| ︙ | ︙ |