*
* Usage: echod -h give all info
*
- * $Id: TCP_echod.c,v 1.11 2003/08/02 19:54:11 piccardi Exp $
+ * $Id: TCP_echod.c,v 1.12 2003/08/03 18:12:47 piccardi Exp $
*
****************************************************************/
/*
if (pid == 0) { /* child */
close(list_fd); /* close listening socket */
ServEcho(conn_fd); /* handle echo */
+ if (debugging) {
+ snprintf(debug, MAXLINE, "Closed connection %s\n", ipaddr);
+ if (demonize) {
+ syslog(LOG_DEBUG, debug);
+ } else {
+ printf("%s", debug);
+ }
+ }
exit(0);
} else { /* parent */
close(conn_fd); /* close connected socket */
/* main loop, reading 0 char means client close connection */
while ( (nread = read(sockfd, buffer, MAXLINE)) != 0) {
if (nread < 0) {
- snprintf(debug, MAXLINE+20, "Errore in lettura: %s \n",
- strerror(errno));
- if (demonize) { /* daemon mode */
- syslog(LOG_DEBUG, debug);
- } else {
- printf("%s", debug);
- }
+ PrintErr("Errore in lettura");
+ return;
}
nwrite = FullWrite(sockfd, buffer, nread);
if (nwrite) {
- snprintf(debug, MAXLINE+20, "Errore in scrittura: %s \n",
- strerror(errno));
- if (demonize) { /* daemon mode */
- syslog(LOG_DEBUG, debug);
- } else {
- printf("%s", debug);
- }
+ PrintErr("Errore in scrittura");
+ return;
}
if (debugging) {
buffer[nread] = 0;