projects
/
gapil.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Altre modifiche
[gapil.git]
/
sources
/
TCP_echod.c
diff --git
a/sources/TCP_echod.c
b/sources/TCP_echod.c
index 35de97c30f22b9981e7dac777b24da23fb586388..049155744c919942c335a3a5f3b818ce0005990f 100644
(file)
--- a/
sources/TCP_echod.c
+++ b/
sources/TCP_echod.c
@@
-26,7
+26,7
@@
*
* Usage: echod -h give all info
*
*
* Usage: echod -h give all info
*
- * $Id: TCP_echod.c,v 1.
5 2003/06/19 11:43:13
piccardi Exp $
+ * $Id: TCP_echod.c,v 1.
8 2003/07/27 14:28:19
piccardi Exp $
*
****************************************************************/
/*
*
****************************************************************/
/*
@@
-41,6
+41,7
@@
#include <syslog.h> /* syslog system functions */
#include <signal.h> /* signal functions */
#include <errno.h> /* error code */
#include <syslog.h> /* syslog system functions */
#include <signal.h> /* signal functions */
#include <errno.h> /* error code */
+#include <string.h> /* error code */
#include "Gapil.h"
#define BACKLOG 10
#include "Gapil.h"
#define BACKLOG 10
@@
-58,7
+59,7
@@
int main(int argc, char *argv[])
* Variables definition
*/
int list_fd, conn_fd;
* Variables definition
*/
int list_fd, conn_fd;
- int waiting;
+ int waiting
= 0
;
pid_t pid;
struct sockaddr_in serv_add, cli_add;
socklen_t len;
pid_t pid;
struct sockaddr_in serv_add, cli_add;
socklen_t len;
@@
-183,8
+184,9
@@
void usage(void) {
printf("Usage:\n");
printf(" echod [-h] \n");
printf(" -h print this help\n");
printf("Usage:\n");
printf(" echod [-h] \n");
printf(" -h print this help\n");
- printf(" -d
print
debug info\n");
+ printf(" -d
write
debug info\n");
printf(" -i use interactively\n");
printf(" -i use interactively\n");
+ printf(" -w N wait N sec. before calling accept\n");
exit(1);
}
/*
exit(1);
}
/*
@@
-197,7
+199,25
@@
void ServEcho(int sockfd) {
int size;
/* main loop, reading 0 char means client close connection */
while ( (nread = read(sockfd, buffer, MAXLINE)) != 0) {
int size;
/* 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);
+ }
+ }
nwrite = FullWrite(sockfd, buffer, nread);
nwrite = FullWrite(sockfd, buffer, nread);
+ if (nwrite < 0) {
+ snprintf(debug, MAXLINE+20, "Errore in scrittura: %s \n",
+ strerror(errno));
+ if (demonize) { /* daemon mode */
+ syslog(LOG_DEBUG, debug);
+ } else {
+ printf("%s", debug);
+ }
+ }
if (debugging) {
buffer[nread] = 0;
snprintf(debug, MAXLINE+20, "Letti %d byte, %s", nread, buffer);
if (debugging) {
buffer[nread] = 0;
snprintf(debug, MAXLINE+20, "Letti %d byte, %s", nread, buffer);