📄 main.cc
字号:
// Larbin// Sebastien Ailleret// 09-11-99 -> 08-03-00#include <unistd.h>#include <iostream.h>#include <signal.h>#include <time.h>#include <netdb.h>#include <sys/socket.h>#include <sys/types.h>#include <sys/stat.h>#include <fcntl.h>#include "global.h"#include "xutils/GenericFifo.h"#include "xutils/url.h"#include "xutils/text.h"#include "xutils/threads.h"#include "xfetcher/checker.h"#include "xsequencer/sequencer.h"#include "xfetcher/fetchOpen.h"#include "xfetcher/fetchPipe.h"#include "xinterf/input.h"#include "xutils/debug.h"#include "xutils/webserver.h"// If this thread terminates, the whole program exitsint main (int argc, char *argv[]) { // create all the structures global glob(argc, argv); // let's ignore SIGPIPE static struct sigaction sn, so; sigemptyset(&sn.sa_mask); sn.sa_flags=SA_RESTART; sn.sa_handler = SIG_IGN; if (sigaction(SIGPIPE, &sn, &so)) { cerr << "Unable to disable SIGPIPE\n"; } // Start all threads crash("Launch all threads"); if (startThread(startSequencer, NULL) || startThread(startFetchBlock, NULL) || startThread(startFetchNonBlock, NULL) || startThread(startFetchPipe, NULL) || startThread(startInput, NULL) || startThread(startOutput, NULL)) { cerr << "Unable to launch a thread\n"; exit(1); } // Start the search cerr << global::userAgent; cerr << " is starting its search\n"; check(new url(newString(global::firstUrl), global::depthInSite)); // Launch the web server crash("Launch the webserver"); webserver();}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -