projects
/
gapil.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Risistemate le trattazioni delle opzioni SO_KEEPALIVE e SO_REUSEADDR, con
[gapil.git]
/
sources
/
wwwd.c
diff --git
a/sources/wwwd.c
b/sources/wwwd.c
index cb7752680ec47e59237c3e54b8c6fde06895f2fe..16838882a4fd8820eaf1317157f4adc04a6f9761 100644
(file)
--- a/
sources/wwwd.c
+++ b/
sources/wwwd.c
@@
-74,6
+74,7
@@
int main(int argc, char *argv[])
int list_fd, conn_fd;
int compat = 0;
int reroot = 0;
int list_fd, conn_fd;
int compat = 0;
int reroot = 0;
+ int reuse = 1;
char * rootdir;
pid_t pid;
struct sockaddr_in cli_add;
char * rootdir;
pid_t pid;
struct sockaddr_in cli_add;
@@
-85,7
+86,7
@@
int main(int argc, char *argv[])
*/
int i;
opterr = 0; /* don't want writing to stderr */
*/
int i;
opterr = 0; /* don't want writing to stderr */
- while ( (i = getopt(argc, argv, "hdicr:")) != -1) {
+ while ( (i = getopt(argc, argv, "h
w
dicr:")) != -1) {
switch (i) {
/*
* Handling options
switch (i) {
/*
* Handling options
@@
-104,6
+105,9
@@
int main(int argc, char *argv[])
case 'd':
debugging = 1;
break;
case 'd':
debugging = 1;
break;
+ case 'w':
+ reuse = 0;
+ break;
case 'r':
reroot = 1;
rootdir = optarg;
case 'r':
reroot = 1;
rootdir = optarg;
@@
-129,7
+133,8
@@
int main(int argc, char *argv[])
SignalRestart(SIGCHLD, HandSigCHLD); /* restarting handler */
}
/* create and bind socket */
SignalRestart(SIGCHLD, HandSigCHLD); /* restarting handler */
}
/* create and bind socket */
- if ( (list_fd = sockbind2(argv[optind], "www", 6, SOCK_STREAM)) < 0) {
+ if ( (list_fd = sockbindopt(argv[optind], "www", 6,
+ SOCK_STREAM, reuse)) < 0) {
return 1;
}
/* chroot if requested */
return 1;
}
/* chroot if requested */