Project

General

Profile

Bug #643 ยป shutdown-cleanup.patch

nant, 05/17/2007 07:29 AM

View differences:

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);
}
    (1-1/1)