00001 00002 00008 /******************************************************************** 00009 Description: 00010 part of the 3Dsia project 00011 created: StonedBones, 31.1.2000 00012 00013 History: 00014 date, name, changes, in funtion 00015 310100 StonedBones created source 00016 00017 ********************************************************************/ 00018 00019 #include "main.h" 00020 00021 #include <unistd.h> 00022 #include <pthread.h> 00023 00024 #include "../common/buffer.h" 00025 00026 /*................................................................... 00027 Description: the main function; starts FET, MCT and CCT 00028 Args: int argc: amount of arguments; char** argv: pointer to arguments-string (I think...) 00029 Returns: 0 if no error 00030 Created: StonedBones, 31.1.2000 00031 ToDo: 00032 [Comments:] 00033 Changes: 00034 added pluginloading on startup, xandi, 270200 00035 added globalDatabse thread, xandi, 260300 00036 added Core thread, xandi, 270300 00037 removed globalDatabase thread, xandi, 060400 00038 removed matrixControlThread, xandi, 210400 00039 added matrixThread in order to make the server single-matrix, xandi, 210400 00040 00041 -------------------------------------------------------------------*/ 00042 00043 Buffer* matrixBufIn; 00044 00045 int main (int argc, char** argv) { 00046 FETArgs* FETargs; 00047 FETargs = new FETArgs; 00048 CCTArgs* CCTargs; 00049 CCTargs = new CCTArgs; 00050 /* 00051 MCTArgs* MCTargs; 00052 MCTargs = new MCTArgs; 00053 */ 00054 00055 matrixBufIn = new Buffer (); 00056 00057 LoadAllPlugins (); 00058 00059 //MCTargs->argc = 00060 CCTargs->argc = FETargs->argc = argc; 00061 //MCTargs->argv = 00062 CCTargs->argv = FETargs->argv = argv; 00063 00064 pthread_t frontEndThread; 00065 pthread_t clientControlThread; 00066 pthread_t matrixThread; 00067 // pthread_t coreThread; 00068 00069 pthread_create (&frontEndThread, NULL, FrontEndThread, FETargs); 00070 pthread_create (&matrixThread, NULL, MatrixThread, NULL); 00071 pthread_create (&clientControlThread, NULL, ClientControlThread, CCTargs); 00072 // pthread_create (&coreThread, NULL, (void*) CoreThread, NULL); 00073 00074 pthread_join (frontEndThread, NULL); 00075 pthread_join (matrixThread, NULL); 00076 pthread_join (clientControlThread, NULL); 00077 // pthread_join (coreThread, NULL); 00078 00079 return 0; 00080 }; 00081 00082 00083