00001 #include <stdio.h>
00002 #include <sys/select.h>
00003 #include <sys/socket.h>
00004 #include <stdlib.h>
00005 #include <string.h>
00006 #include <unistd.h>
00007 #include <errno.h>
00008
00009 #include "../include/server.h"
00010 #include "../include/monitor.h"
00011 #include "../include/writeBuffer.h"
00012
00013
00014 void
00015 serverShutdown(tServer * server)
00016 {
00017 int i;
00018
00019 for (i=3; i<=server->maxFd; i++) {
00020 if (FD_ISSET(i, &(server->socks))) {
00021 if (i == server->servSock) {
00022 shutdown(server->servSock, SHUT_RDWR);
00023 close(server->servSock);
00024 } else {
00025
00026 clientClose(&((server->clients)[i]));
00027 FD_CLR(i, &(server->socks));
00028 }
00029 }
00030 }
00031
00032 if (NULL != server->wHandle) {
00033 fclose(server->wHandle);
00034 }
00035 }