Пример #1
0
int main(int argc, char **argv)
{
    const char *database = (argc >= 2 ? argv[1] : "default");

    bool testMode = (argc >= 2 && strncmp(argv[1], "test", 4) == 0);

    initialiseConnection(database);
    initialiseBackup();
    initialiseLatex(database);

    if (argc >= 3 && strncmp(argv[2], "render-all", 12) == 0) {
        renderAll();
        exit(0);
    }

    QApplication app(argc, argv);

    QFont font;
    font.setFamily("Helvetica");
    font.setPointSize(18);
    app.setFont(font);

    if (testMode) {
        runAllTests();

        return 0;
    }
    else {
        StudyAidController controller;
        controller.openNewWindow();

        return app.exec();
    }
}
Пример #2
0
main()
{

  int fromlen;
  int i, s, ns, len;
  struct sockaddr_un saun, fsaun;
  
  for(i=0 ;i<3; i++)
    idleThread[i] = i;

  for(i=0; i<3;i++)
    initialiseConnection(i);

  if ((s = socket(AF_UNIX, SOCK_STREAM, 0)) < 0) {
    perror("server: socket");
    exit(1);
  }

  saun.sun_family = AF_UNIX;
  strcpy(saun.sun_path, ADDRESS);

  unlink(ADDRESS);
  len = sizeof(saun.sun_family) + strlen(saun.sun_path);

  if (bind(s, &saun, len) < 0) {
    perror("server: bind");
    exit(1);
  }

  if (listen(s, 5) < 0) {
    perror("server: listen");
    exit(1);
  }
  
  pthread_attr_init(&attr);
  pthread_attr_setdetachstate(&attr,PTHREAD_CREATE_DETACHED);
  
  while(1){
    
    ns = accept(s, (struct sockadd*)&fsaun, &fromlen);
    if (ns < 0) {
      perror("server: accept");
      exit(1);
    }
    
    int curthread = comeBackYesterday();
    //int curthread = merryGoRound();
    int par[2]={ns,curthread};
    active++;

    if(pthread_create(&thread[curthread],NULL,connectToClient,(void*)par)){
      perror("server: cant create thread");
      exit(1);
    }
    printf("Sent to server : %d\n",curthread);
    pthread_detach(thread[curthread]);
    
    /*while(active>=No_of_servers){
      //puts("come back yesterday");
    }*/
  }
  
  if (ns < 0) {
    perror("server: accept");
    exit(1);
  }

  close(s);
  return 0;
}