00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
#include <stdio.h>
00021
#include <signal.h>
00022
#include <ListenSocket.h>
00023
#include "ChatHandler.h"
00024
#include "ChatSocket.h"
00025
00026 #define DEB(x)
00027
00028
00029 static int m_quit = 0;
00030
00031
00032
#ifndef _WIN32
00033 void sigint(
int s)
00034 {
00035
DEB( printf(
"sigint\n");)
00036
m_quit++;
00037 }
00038
00039 void sighup(
int s)
00040 {
00041
DEB( printf(
"sighup\n");)
00042
m_quit++;
00043 }
00044
00045 void sigusr1(
int s)
00046 {
00047 }
00048
00049 void sigusr2(
int s)
00050 {
00051 }
00052
00053 void sigpipe(
int s)
00054 {
00055 }
00056
00057 void siginit(
void)
00058 {
00059 signal(SIGINT, (__sighandler_t)
sigint);
00060 signal(SIGHUP, (__sighandler_t)
sighup);
00061 signal(SIGUSR1, (__sighandler_t)
sigusr1);
00062 signal(SIGUSR2, (__sighandler_t)
sigusr2);
00063 signal(SIGPIPE, (__sighandler_t)
sigpipe);
00064 }
00065
#endif
00066
00067
00068 int main(
int argc,
char *argv[])
00069 {
00070
ChatHandler h;
00071 ListenSocket<ChatSocket> l(h);
00072
siginit();
00073
00074
if (l.Bind(4440))
00075 {
00076 exit(-1);
00077 }
00078 h.Add(&l);
00079
while (!
m_quit)
00080 {
00081 h.Select(1,0);
00082 }
00083 }
00084