Bug #643 ยป shutdown-cleanup.patch
libexec/ftp-proxy/ftp-proxy.c | ||
---|---|---|
close_client_data(void)
|
||
{
|
||
if (client_data_socket >= 0) {
|
||
shutdown(client_data_socket, 2);
|
||
shutdown(client_data_socket, SHUT_RDWR);
|
||
close(client_data_socket);
|
||
client_data_socket = -1;
|
||
}
|
||
... | ... | |
close_server_data(void)
|
||
{
|
||
if (server_data_socket >= 0) {
|
||
shutdown(server_data_socket, 2);
|
||
shutdown(server_data_socket, SHUT_RDWR);
|
||
close(server_data_socket);
|
||
server_data_socket = -1;
|
||
}
|
||
... | ... | |
}
|
||
free(fdsp);
|
||
if (client_iob.got_eof) {
|
||
shutdown(server_iob.fd, 1);
|
||
shutdown(client_iob.fd, 0);
|
||
shutdown(server_iob.fd, SHUT_WR);
|
||
shutdown(client_iob.fd, SHUT_RD);
|
||
client_iob.got_eof = 0;
|
||
client_iob.alive = 0;
|
||
}
|
||
if (server_iob.got_eof) {
|
||
shutdown(client_iob.fd, 1);
|
||
shutdown(server_iob.fd, 0);
|
||
shutdown(client_iob.fd, SHUT_WR);
|
||
shutdown(server_iob.fd, SHUT_RD);
|
||
server_iob.got_eof = 0;
|
||
server_iob.alive = 0;
|
||
}
|
libexec/rexecd/rexecd.c | ||
---|---|---|
if (ready & (1<<pv[0])) {
|
||
cc = read(pv[0], buf, sizeof (buf));
|
||
if (cc <= 0) {
|
||
shutdown(s, 1+1);
|
||
shutdown(s, SHUT_RDWR);
|
||
readfrom &= ~(1<<pv[0]);
|
||
} else
|
||
(void) write(s, buf, cc);
|
libexec/rlogind/rlogind.c | ||
---|---|---|
chflags(line, 0);
|
||
chmod(line, 0666);
|
||
chown(line, 0, 0);
|
||
shutdown(netf, 2);
|
||
shutdown(netf, SHUT_RDWR);
|
||
exit(1);
|
||
}
|
||
libexec/rshd/rshd.c | ||
---|---|---|
if ((cc = read(STDIN_FILENO, &c, 1)) != 1) {
|
||
if (cc < 0)
|
||
syslog(LOG_NOTICE, "read: %m");
|
||
shutdown(0, 1+1);
|
||
shutdown(0, SHUT_RDWR);
|
||
exit(1);
|
||
}
|
||
if (c == 0)
|
||
... | ... | |
errno = 0;
|
||
cc = read(pv[0], buf, sizeof(buf));
|
||
if (cc <= 0) {
|
||
shutdown(s, 1+1);
|
||
shutdown(s, SHUT_RDWR);
|
||
FD_CLR(pv[0], &readfrom);
|
||
} else {
|
||
#ifdef CRYPT
|
||
... | ... | |
errno = 0;
|
||
cc = read(pv1[0], buf, sizeof(buf));
|
||
if (cc <= 0) {
|
||
shutdown(pv1[0], 1+1);
|
||
shutdown(pv1[0], SHUT_RDWR);
|
||
FD_CLR(pv1[0], &readfrom);
|
||
} else {
|
||
des_enc_write(STDOUT_FILENO,
|
||
... | ... | |
buf, sizeof(buf),
|
||
schedule, &kdata->session);
|
||
if (cc <= 0) {
|
||
shutdown(pv2[0], 1+1);
|
||
shutdown(pv2[0], SHUT_RDWR);
|
||
FD_CLR(pv2[0], &writeto);
|
||
} else {
|
||
write(pv2[0], buf, cc);
|
libexec/telnetd/sys_term.c | ||
---|---|---|
*p = 'p';
|
||
(void)chmod(line, 0666);
|
||
(void)chown(line, 0, 0);
|
||
(void) shutdown(net, 2);
|
||
(void) shutdown(net, SHUT_RDWR);
|
||
_exit(1);
|
||
}
|
sbin/mount_portal/activate.c | ||
---|---|---|
#endif
|
||
sleep(1); /*XXX*/
|
||
#ifdef notdef
|
||
if (shutdown(so, 2) < 0)
|
||
if (shutdown(so, SHUT_RDWR) < 0)
|
||
syslog(LOG_ERR, "shutdown: %s", strerror(errno));
|
||
#endif
|
||
/*
|
sys/netproto/ncp/ncp_sock.c | ||
---|---|---|
if (conn->ncp_so) {
|
||
so = conn->ncp_so;
|
||
conn->ncp_so = (struct socket *)0;
|
||
soshutdown(so, 2);
|
||
soshutdown(so, SHUT_RDWR);
|
||
soclose(so, FNONBLOCK);
|
||
}
|
||
if (conn->wdg_so) {
|
||
so = conn->wdg_so;
|
||
conn->wdg_so = (struct socket *)0;
|
||
soshutdown(so, 2);
|
||
soshutdown(so, SHUT_RDWR);
|
||
soclose(so, FNONBLOCK);
|
||
}
|
||
#ifdef NCPBURST
|
||
if (conn->bc_so) {
|
||
so = conn->bc_so;
|
||
conn->bc_so = (struct socket *)NULL;
|
||
soshutdown(so, 2);
|
||
soshutdown(so, SHUT_RDWR);
|
||
soclose(so, FNONBLOCK);
|
||
}
|
||
#endif
|
sys/netproto/smb/smb_trantcp.c | ||
---|---|---|
if ((so = nbp->nbp_tso) != NULL) {
|
||
nbp->nbp_flags &= ~NBF_CONNECTED;
|
||
nbp->nbp_tso = (struct socket *)NULL;
|
||
soshutdown(so, 2);
|
||
soshutdown(so, SHUT_RDWR);
|
||
soclose(so, FNONBLOCK);
|
||
}
|
||
if (nbp->nbp_state != NBST_RETARGET) {
|
sys/vfs/nfs/nfs_socket.c | ||
---|---|---|
if (nmp->nm_so) {
|
||
so = nmp->nm_so;
|
||
nmp->nm_so = (struct socket *)0;
|
||
soshutdown(so, 2);
|
||
soshutdown(so, SHUT_RDWR);
|
||
soclose(so, FNONBLOCK);
|
||
}
|
||
}
|
sys/vfs/nfs/nfs_syscalls.c | ||
---|---|---|
so->so_rcv.ssb_flags &= ~SSB_UPCALL;
|
||
so->so_upcall = NULL;
|
||
so->so_upcallarg = NULL;
|
||
soshutdown(so, 2);
|
||
soshutdown(so, SHUT_RDWR);
|
||
closef(fp, NULL);
|
||
if (slp->ns_nam)
|
||
FREE(slp->ns_nam, M_SONAME);
|
sys/vfs/portal/portal_vfsops.c | ||
---|---|---|
* daemon to wake up, and then the accept will get ECONNABORTED
|
||
* which it interprets as a request to go and bury itself.
|
||
*/
|
||
soshutdown((struct socket *) VFSTOPORTAL(mp)->pm_server->f_data, 2);
|
||
soshutdown((struct socket *) VFSTOPORTAL(mp)->pm_server->f_data,
|
||
SHUT_RDWR);
|
||
/*
|
||
* Discard reference to underlying file. Must call closef because
|
||
* this may be the last reference.
|
sys/vfs/portal/portal_vnops.c | ||
---|---|---|
}
|
||
if (so) {
|
||
soshutdown(so, 2);
|
||
soshutdown(so, SHUT_RDWR);
|
||
soclose(so, FNONBLOCK);
|
||
}
|
||
return (error);
|
usr.bin/rsh/rsh.c | ||
---|---|---|
err(1, "fork");
|
||
}
|
||
else
|
||
shutdown(rem, 1);
|
||
shutdown(rem, SHUT_WR);
|
||
#ifdef KERBEROS
|
||
#ifdef CRYPT
|
||
... | ... | |
goto reread;
|
||
goto rewrite;
|
||
done:
|
||
shutdown(rem, 1);
|
||
shutdown(rem, SHUT_WR);
|
||
exit(0);
|
||
}
|
||
usr.bin/telnet/commands.c | ||
---|---|---|
extern int resettermname;
|
||
if (connected) {
|
||
(void) shutdown(net, 2);
|
||
(void) shutdown(net, SHUT_RDWR);
|
||
printf("Connection closed.\n");
|
||
(void) NetClose(net);
|
||
connected = 0;
|
usr.sbin/IPXrouted/main.c | ||
---|---|---|
r = socket(AF_ROUTE, SOCK_RAW, 0);
|
||
/* later, get smart about lookingforinterfaces */
|
||
if (r)
|
||
shutdown(r, 0); /* for now, don't want reponses */
|
||
shutdown(r, SHUT_RD); /* for now, don't want reponses */
|
||
else {
|
||
fprintf(stderr, "IPXrouted: no routing socket\n");
|
||
exit(1);
|
usr.sbin/faithd/rsh.c | ||
---|---|---|
case 0:
|
||
if (s_rcv == src) {
|
||
/* half close */
|
||
shutdown(dst, 1);
|
||
shutdown(dst, SHUT_WR);
|
||
half = YES;
|
||
break;
|
||
}
|
usr.sbin/faithd/tcp.c | ||
---|---|---|
/* NOTREACHED */
|
||
case 0:
|
||
/* to close opposite-direction relay process */
|
||
shutdown(s_snd, 0);
|
||
shutdown(s_snd, SHUT_RD);
|
||
close(s_rcv);
|
||
close(s_snd);
|
usr.sbin/rtsold/probe.c | ||
---|---|---|
}
|
||
/* make the socket send-only */
|
||
if (shutdown(probesock, 0)) {
|
||
if (shutdown(probesock, SHUT_RD)) {
|
||
warnmsg(LOG_ERR, __func__, "shutdown: %s", strerror(errno));
|
||
return(-1);
|
||
}
|