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(); } }
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; }