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);
|
||
|
}
|
||