Skip to content

Commit d73a047

Browse files
Clifford Wolflge
authored andcommitted
Better loggin in -ii mode (conn closed, pid in almost all msgs)
1 parent be952e7 commit d73a047

File tree

3 files changed

+26
-2
lines changed

3 files changed

+26
-2
lines changed

csync2.c

Lines changed: 18 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,8 @@ int csync_error_count = 0;
5656
int csync_debug_level = 0;
5757
FILE *csync_debug_out = 0;
5858

59+
int csync_server_child_pid = 0;
60+
5961
enum {
6062
MODE_NONE,
6163
MODE_HINT,
@@ -206,11 +208,16 @@ static int csync_server_loop(int single_connect)
206208
int conn = accept(listenfd, (struct sockaddr *) &addr, &addrlen);
207209
if (conn < 0) goto error;
208210

209-
printf("New connection from %s:%u.\n",
210-
inet_ntoa(addr.sin_addr), ntohs(addr.sin_port));
211211
fflush(stdout); fflush(stderr);
212212

213213
if (single_connect || !fork()) {
214+
csync_server_child_pid = getpid();
215+
fprintf(stderr, "<%d> New connection from %s:%u.\n",
216+
csync_server_child_pid,
217+
inet_ntoa(addr.sin_addr),
218+
ntohs(addr.sin_port));
219+
fflush(stderr);
220+
214221
dup2(conn, 0);
215222
dup2(conn, 1);
216223
close(conn);
@@ -427,6 +434,7 @@ int main(int argc, char ** argv)
427434
yyin = fopen(file_config, "r");
428435
if ( !yyin ) csync_fatal("Can't open config file.\n");
429436
yyparse();
437+
fclose(yyin);
430438

431439
csync_db_open(file_database);
432440

@@ -636,9 +644,17 @@ int main(int argc, char ** argv)
636644

637645
csync_run_commands();
638646
csync_db_close();
647+
639648
if ( csync_error_count != 0 )
640649
csync_debug(0, "Finished with %d errors.\n", csync_error_count);
641650
if ( retval >= 0 && csync_error_count == 0 ) return retval;
651+
652+
if ( csync_server_child_pid ) {
653+
fprintf(stderr, "<%d> Connection closed.\n",
654+
csync_server_child_pid);
655+
fflush(stderr);
656+
}
657+
642658
return csync_error_count != 0;
643659
}
644660

csync2.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -285,6 +285,8 @@ extern int csync_error_count;
285285
extern int csync_debug_level;
286286
extern FILE *csync_debug_out;
287287

288+
extern int csync_server_child_pid;
289+
288290
extern char myhostname[];
289291
extern char *active_grouplist;
290292
extern char *active_peerlist;

error.c

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,9 @@ void csync_fatal(const char *fmt, ...)
2828
{
2929
va_list ap;
3030

31+
if ( csync_server_child_pid )
32+
fprintf(csync_debug_out, "<%d>", csync_server_child_pid);
33+
3134
va_start(ap, fmt);
3235
vfprintf(csync_debug_out, fmt, ap);
3336
va_end(ap);
@@ -42,6 +45,9 @@ void csync_debug(int lv, const char *fmt, ...)
4245

4346
if ( csync_debug_level < lv ) return;
4447

48+
if ( csync_server_child_pid )
49+
fprintf(csync_debug_out, "<%d>", csync_server_child_pid);
50+
4551
va_start(ap, fmt);
4652
vfprintf(csync_debug_out, fmt, ap);
4753
va_end(ap);

0 commit comments

Comments
 (0)