Skip to content

Commit ff06794

Browse files
authored
Added missing signal handlers (#364)
`renderd` coverage is otherwise not properly reported _Also:_ - Removed `freebsd12` from CI - Packages are no longer provided (http://pkg.freebsd.org/) - Added test for `HTCP host name` specification - Renamed files in `src`/`includes` to match target names - `src/daemon.c` → `src/renderd.c` - `src/speedtest.cpp` →`src/render_speedtest.cpp` - `includes/daemon.h` → `includes/renderd.h`
1 parent 53b77bc commit ff06794

11 files changed

Lines changed: 25 additions & 67 deletions

File tree

.github/workflows/build-and-test.yml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -186,7 +186,6 @@ jobs:
186186
strategy:
187187
matrix:
188188
box_generic:
189-
- freebsd12
190189
- freebsd13
191190
build_system:
192191
- CMake

.github/workflows/coverage.yml

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -34,9 +34,6 @@ jobs:
3434
- name: Test `mod_tile`
3535
uses: ./.github/actions/cmake/test
3636

37-
- name: Test `mod_tile` again (to gather more coverage data)
38-
uses: ./.github/actions/cmake/test
39-
4037
- name: Process `mod_tile` coverage results
4138
run: |
4239
ctest -T coverage

Makefile.am

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ man_MANS = \
3737
renderddir = $(sysconfdir)
3838

3939
renderd_SOURCES = \
40-
src/daemon.c \
40+
src/renderd.c \
4141
src/daemon_compat.c \
4242
src/gen_tile.cpp \
4343
src/sys_utils.c \
@@ -52,7 +52,7 @@ renderd_LDADD = $(PTHREAD_CFLAGS) $(MAPNIK_LDFLAGS) $(STORE_LDFLAGS) $(INIPARSER
5252
renderd_DATA = etc/renderd/renderd.conf
5353

5454
render_speedtest_SOURCES = \
55-
src/speedtest.cpp \
55+
src/render_speedtest.cpp \
5656
src/protocol_helper.c \
5757
src/render_submit_queue.c \
5858
src/sys_utils.c \
@@ -91,7 +91,7 @@ gen_tile_test_SOURCES = \
9191
src/metatile.cpp \
9292
src/request_queue.c \
9393
src/protocol_helper.c \
94-
src/daemon.c \
94+
src/renderd.c \
9595
src/daemon_compat.c \
9696
src/gen_tile.cpp \
9797
src/sys_utils.c \

includes/render_config.h

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -89,9 +89,13 @@
8989
#define REQUEST_TIMEOUT (3)
9090
#define FD_INVALID (-1)
9191

92-
92+
#ifndef MIN
9393
#define MIN(x,y) ((x)<(y)?(x):(y))
94+
#endif
95+
96+
#ifndef MAX
9497
#define MAX(x,y) ((x)>(y)?(x):(y))
98+
#endif
9599

96100
#define MAX_CONNECTIONS (2048)
97101

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,8 @@
1515
* along with this program; If not, see http://www.gnu.org/licenses/.
1616
*/
1717

18-
#ifndef DAEMON_H
19-
#define DAEMON_H
18+
#ifndef RENDERD_H
19+
#define RENDERD_H
2020

2121
#ifdef __cplusplus
2222
extern "C" {

src/CMakeLists.txt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -143,8 +143,8 @@ target_link_libraries(render_old ${render_old_LIBS})
143143
set(render_speedtest_SRCS
144144
${COMMON_SRCS}
145145
protocol_helper.c
146+
render_speedtest.cpp
146147
render_submit_queue.c
147-
speedtest.cpp
148148
)
149149
set(render_speedtest_LIBS
150150
${COMMON_LIBRARIES}
@@ -163,11 +163,11 @@ set(renderd_SRCS
163163
${STORE_SRCS}
164164
cache_expire.c
165165
daemon_compat.c
166-
daemon.c
167166
gen_tile.cpp
168167
metatile.cpp
169168
parameterize_style.cpp
170169
protocol_helper.c
170+
renderd.c
171171
request_queue.c
172172
)
173173
set(renderd_LIBS

src/gen_tile.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@
3939

4040
#include "gen_tile.h"
4141
#include "render_config.h"
42-
#include "daemon.h"
42+
#include "renderd.h"
4343
#include "store.h"
4444
#include "metatile.h"
4545
#include "protocol.h"

src/render_list.c

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -357,7 +357,6 @@ int main(int argc, char **argv)
357357

358358
if (force || (s.size < 0) || (s.expired)) {
359359
// missing or old, render it
360-
//ret = process_loop(fd, mapname, x, y, z);
361360
enqueue(mapname, x, y, z);
362361
num_render++;
363362

Lines changed: 0 additions & 50 deletions
Original file line numberDiff line numberDiff line change
@@ -76,8 +76,6 @@ int foreground = 1;
7676

7777
static double minmax(double a, double b, double c)
7878
{
79-
#define MIN(x,y) ((x)<(y)?(x):(y))
80-
#define MAX(x,y) ((x)>(y)?(x):(y))
8179
a = MAX(a, b);
8280
a = MIN(a, c);
8381
return a;
@@ -136,54 +134,6 @@ void display_rate(struct timeval start, struct timeval end, int num)
136134
fflush(NULL);
137135
}
138136

139-
int rx_process(const struct protocol *req)
140-
{
141-
fprintf(stderr, "version(%d), cmd(%d), z(%d), x(%d), y(%d)\n",
142-
req->ver, req->cmd, req->z, req->x, req->y);
143-
return 0;
144-
}
145-
146-
int process_loop(int fd, int x, int y, int z, const char * map)
147-
{
148-
struct protocol cmd, rsp;
149-
//struct pollfd fds[1];
150-
int ret = 0;
151-
152-
bzero(&cmd, sizeof(cmd));
153-
154-
cmd.ver = 2;
155-
cmd.cmd = cmdRender;
156-
cmd.z = z;
157-
cmd.x = x;
158-
cmd.y = y;
159-
strcpy(cmd.xmlname, map);
160-
//strcpy(cmd.path, "/tmp/foo.png");
161-
162-
//printf("Sending request\n");
163-
ret = send(fd, &cmd, sizeof(cmd), 0);
164-
165-
if (ret != sizeof(cmd)) {
166-
perror("send error");
167-
}
168-
169-
//printf("Waiting for response\n");
170-
bzero(&rsp, sizeof(rsp));
171-
ret = recv(fd, &rsp, sizeof(rsp), 0);
172-
173-
if (ret != sizeof(rsp)) {
174-
perror("recv error");
175-
return 0;
176-
}
177-
178-
//printf("Got response\n");
179-
180-
if (!ret) {
181-
perror("Socket send error");
182-
}
183-
184-
return ret;
185-
}
186-
187137
int main(int argc, char **argv)
188138
{
189139
const char *spath = RENDERD_SOCKET;

src/daemon.c renamed to src/renderd.c

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@
3636

3737
#include "config.h"
3838
#include "render_config.h"
39-
#include "daemon.h"
39+
#include "renderd.h"
4040
#include "gen_tile.h"
4141
#include "protocol.h"
4242
#include "protocol_helper.h"
@@ -58,7 +58,7 @@
5858
#ifndef MAIN_ALREADY_DEFINED
5959
static pthread_t *render_threads;
6060
static pthread_t *slave_threads;
61-
static struct sigaction sigPipeAction;
61+
static struct sigaction sigPipeAction, sigExitAction;
6262
static pthread_t stats_thread;
6363
#endif
6464

@@ -1097,6 +1097,7 @@ int main(int argc, char **argv)
10971097
}
10981098

10991099
fd = server_socket_init(&config);
1100+
11001101
#if 0
11011102

11021103
if (fcntl(fd, F_SETFD, O_RDWR | O_NONBLOCK) < 0) {
@@ -1107,7 +1108,6 @@ int main(int argc, char **argv)
11071108

11081109
#endif
11091110

1110-
//sigPipeAction.sa_handler = pipe_handler;
11111111
sigPipeAction.sa_handler = SIG_IGN;
11121112

11131113
if (sigaction(SIGPIPE, &sigPipeAction, NULL) < 0) {
@@ -1116,6 +1116,14 @@ int main(int argc, char **argv)
11161116
exit(6);
11171117
}
11181118

1119+
sigExitAction.sa_handler = (void *) request_exit;
1120+
1121+
sigaction(SIGHUP, &sigExitAction, NULL);
1122+
1123+
sigaction(SIGINT, &sigExitAction, NULL);
1124+
1125+
sigaction(SIGTERM, &sigExitAction, NULL);
1126+
11191127
render_init(config.mapnik_plugins_dir, config.mapnik_font_dir, config.mapnik_font_dir_recurse);
11201128

11211129
/* unless the command line said to run in foreground mode, fork and detach from terminal */

0 commit comments

Comments
 (0)