projects
/
spider.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
add some linger debugging
[spider.git]
/
src
/
client.c
diff --git
a/src/client.c
b/src/client.c
index 29c8bf5cd0f5b654cf6411e776449339d55e08ac..049d64f6a2fd9d833365b8d6340f3d2ac54cbace 100644
(file)
--- a/
src/client.c
+++ b/
src/client.c
@@
-574,7
+574,7
@@
lend:;
/*
* set up the various mode flags, NL endings and things
*/
/*
* set up the various mode flags, NL endings and things
*/
-void set
mod
e(char *m)
+void set
conntyp
e(char *m)
{
connsort = strlower(m);
if (eq(connsort, "telnet") || eq(connsort, "local") || eq(connsort, "nlonly")) {
{
connsort = strlower(m);
if (eq(connsort, "telnet") || eq(connsort, "local") || eq(connsort, "nlonly")) {
@@
-809,9
+809,9
@@
lerr:
die("Must have at least a callsign (for now)");
if (optind < argc) {
die("Must have at least a callsign (for now)");
if (optind < argc) {
- set
mode(argv[optind]);
+ set
conntype(argv[optind]);
} else {
} else {
- set
mod
e("local");
+ set
conntyp
e("local");
}
/* this is kludgy, but hey so is the rest of this! */
}
/* this is kludgy, but hey so is the rest of this! */
@@
-826,7
+826,8
@@
void connect_to_node()
struct sockaddr_in server;
int nodef;
sel_t *sp;
struct sockaddr_in server;
int nodef;
sel_t *sp;
-
+ struct linger lg;
+
if ((hp = gethostbyname(node_addr)) == 0)
die("Unknown host tcp host %s for printer", node_addr);
if ((hp = gethostbyname(node_addr)) == 0)
die("Unknown host tcp host %s for printer", node_addr);
@@
-842,6
+843,12
@@
void connect_to_node()
if (connect(nodef, (struct sockaddr *) &server, sizeof server) < 0) {
die("Error on connect to %s port %d (%d)", node_addr, node_port, errno);
}
if (connect(nodef, (struct sockaddr *) &server, sizeof server) < 0) {
die("Error on connect to %s port %d (%d)", node_addr, node_port, errno);
}
+
+ memset(&lg, 0, sizeof lg);
+ if (setsockopt(nodef, SOL_SOCKET, SO_LINGER, &lg, sizeof lg) < 0) {
+ die("Error on SO_LINGER to %s port %d (%d)", node_addr, node_port, errno);
+ }
+
node = fcb_new(nodef, MSG);
node->sp = sel_open(nodef, node, "Msg System", fcb_handler, MSG, SEL_INPUT);
node = fcb_new(nodef, MSG);
node->sp = sel_open(nodef, node, "Msg System", fcb_handler, MSG, SEL_INPUT);
@@
-901,13
+908,6
@@
main(int argc, char *argv[])
#ifdef SIGPWR
signal(SIGPWR, terminate);
#endif
#ifdef SIGPWR
signal(SIGPWR, terminate);
#endif
-#ifdef SIGCLD
- signal(SIGCLD, reaper);
-#else
- #ifdef SIGCHILD
- signal(SIGCHILD, reaper);
- #endif
-#endif
/* init a few things */
chain_init(&echobase);
/* init a few things */
chain_init(&echobase);