00001
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034
00035
00036 #include <stdio.h>
00037 #include <string.h>
00038 #include <pthread.h>
00039 #include <daemon.h>
00040 #include <configuration.h>
00041 #include "ksection.h"
00042 #include "ctl_server.h"
00043 #include "mini_mpi_server.h"
00044 #include "virtual_time_server.h"
00045
00046
00047 extern pthread_cond_t mpi_conditional;
00048 extern pthread_mutex_t mpi_mutex;
00049
00050
00051 int main(int argc, char *argv[])
00052 {
00053 int rc = 0;
00054 pthread_t ctl, mpi, vt;
00055
00056 daemon_init();
00057
00058 pthread_mutex_init(&mpi_mutex, NULL);
00059 pthread_cond_init(&mpi_conditional, NULL);
00060
00061 if ((rc = pthread_create(&ctl, NULL, ctl_server, NULL)) != 0) {
00062 fprintf(stderr, "ERROR-- control server thread: %d\n", rc);
00063 exit(-1);
00064 }
00065
00066 if ((rc = pthread_create(&mpi, NULL, mini_mpi_server, NULL)) != 0) {
00067 fprintf(stderr, "ERROR-- mini MPI server thread: %d\n", rc);
00068 exit(-1);
00069 }
00070
00071 if ((rc = pthread_create(&vt, NULL, virtual_time_server, NULL)) != 0) {
00072 fprintf(stderr, "ERROR-- Virtual Time thread: %d\n", rc);
00073 exit(-1);
00074 }
00075
00076 return 0;
00077 }