int main(int argc, char * argv[]) { // init util_init(); my_random_init(); // for opening book printf("Toga II 1.2.1a UCI based on Fruit 2.1 by Thomas Gaksch and Fabien Letouzey. Settings by Dieter Eberle\n"); // early initialisation (the rest is done after UCI options are parsed in protocol.cpp) option_init(); square_init(); piece_init(); pawn_init_bit(); value_init(); vector_init(); attack_init(); move_do_init(); random_init(); hash_init(); trans_init(Trans); book_init(); // loop loop(); return EXIT_SUCCESS; }
int main(int argc, char *argv[]) { // init util_init(); my_random_init(); // for opening book printf( "Gambit Fruit based on Fruit 2.1 and Toga by Ryan Benitez, Thomas Gaksch and Fabien Letouzey\nEdit by Evgeniy Zheltonozhskiy\n"); // early initialisation (the rest is done after UCI options are parsed in protocol.cpp) option_init(); square_init(); piece_init(); pawn_init_bit(); value_init(); vector_init(); attack_init(); move_do_init(); random_init(); hash_init(); trans_init(Trans); book_init(); // loop loop(); return EXIT_SUCCESS; }
DWORD WINAPI ThreadFunc(LPVOID lpParam) { if(WaitForSingleObject(Engine_ready_ok,INFINITE)!= WAIT_OBJECT_0){ my_log("what happened?\n");//i have no idea! return 0; } //seed the random number generator! my_random_init(); //got a "readyok" so we are done done initializing the engine my_log("Started xboard_step() thread \n"); xboard_step();//runs in a loop return 0;// }
TEngine::TEngine(AnsiString FileName) { util_init(); my_random_init(); square_init(); piece_init(); pawn_init_bit(); value_init(); vector_init(); attack_init(); move_do_init(); random_init(); hash_init(); Reversed = true; board_from_fen(&StartBoard,StartFen); board_from_fen(&Board,StartFen); GameStarted = false; StateNewGame = false; LastCommitMove[0] = 0; Process = new TProcess(FileName); Process->Send("uci"); char buf[10000]; do { Sleep(10); if (Process->Get(buf)) { char *next_line = buf; while (true) { char *cur_line = next_line; if (cur_line[0] == 0) break; char *end = strstr(cur_line,"\r\n"); end[0] = 0; end[1] = 0; next_line = end + 2; char *cur_word; while (cur_line) { cur_word = get_cur_word_str(&cur_line); int pos; if (string_equal(cur_word,"id")) { cur_word = get_cur_word_str(&cur_line); if (string_equal(cur_word,"name")) { AnsiString EngineName = cur_line; MainForm->lbEngineName->Caption = EngineName; } } if (string_equal(cur_word,"uciok")) { if (MainForm->MultiPV > 1) { Process->Send("setoption name MultiPV value " + IntToStr(MainForm->MultiPV)); Sleep(100); Process->Get(buf); } Process->Send("setoption name Hash value " + IntToStr(MainForm->HashSize)); return; } } } } } while (true); }
int main(int argc, char * argv[]) { // board_t board[1]; // init Init = false; #ifdef _WIN32 signal(SIGINT,SIG_IGN); signal(SIGTERM,SIG_IGN); #ifdef SIGPIPE signal(SIGPIPE,SIG_IGN); #endif #endif util_init(); printf("PolyGlot %s by Fabien Letouzey\n",Version); option_init(); uci_options_init(); square_init(); piece_init(); attack_init(); hash_init(); my_random_init(); // build book if (argc >= 2 && my_string_equal(argv[1],"make-book")) { book_make(argc,argv); return EXIT_SUCCESS; } if (argc >= 2 && my_string_equal(argv[1],"merge-book")) { book_merge(argc,argv); return EXIT_SUCCESS; } // read options if (argc == 2) option_set("OptionFile",argv[1]); // HACK for compatibility parse_option(); // HACK: also launches the engine // EPD test if (argc >= 2 && my_string_equal(argv[1],"epd-test")) { epd_test(argc,argv); return EXIT_SUCCESS; } // opening book book_clear(); if (option_get_bool("Book")){ if (book_open(option_get_string("BookFile"))) option_set("Book","false");//some error,set to false } //adapter_loop(); #ifdef _WIN32 Engine_ready_ok=CreateEvent(NULL,FALSE,FALSE,NULL); Engine_sync_stop = CreateEvent(NULL,FALSE,FALSE,NULL); // all set and done.lets open a thread for fun DWORD dwThreadID; HANDLE hThread; hThread= CreateThread( NULL, //default security attributes 0, //default stacksize ThreadFunc, //The thread function! &sCommand, //the commands for the thread function 0, //default creation flags &dwThreadID); //the thread identifier Idle500msecs();// if(hThread==NULL){ my_log("CreateThread failed\n"); } #endif adapter_loop(); engine_send(Engine,"quit"); engine_close(Engine); #ifdef _WIN32 CloseHandle(hThread); //close the thread; #endif return EXIT_SUCCESS; }
int main(int argc, char **argv) { int do_fork = 1; char *config_fn = DEFAULT_CONFIG_FILE; char *pid_fn = DEFAULT_PID_FILE; int c; evloop = EV_DEFAULT; ev_started_at = ev_time(); opterr = 0; while ((c = getopt (argc, argv, "vhdfc:p:s:l:")) != -1) { switch (c) { case 'v': verbose++; break; case 'h': usage(0); return 0; case 'd': debug = 1; do_fork = 0; break; case 'f': do_fork = 0; break; case 'c': config_fn = optarg; break; case 'p': pid_fn = optarg; break; case 's': server_str_id = strdup(optarg); break; case 'l': server_listen_port = atoi(optarg); if (server_listen_port < 1 || server_listen_port > 65534){ fprintf (stderr, "Invalid listen port: %s.\n", optarg); return 1; } break; case '?': if ((optopt == 'c') || (optopt == 'p') || (optopt == 's') || (optopt == 'l')) fprintf (stderr, "Option -%c requires an argument.\n", optopt); else if (isprint (optopt)) fprintf (stderr, "Unknown option `-%c'.\n", optopt); else fprintf (stderr, "Unknown option character `\\x%x'.\n", optopt); return 1; default: usage(); return 1; } } if (optind < argc) { fprintf (stderr, "Unknown option: %s.\n", argv[optind]); return 1; } rtsp_server = rtsp_alloc(); if (!rtsp_server){ return 0; } log_to_stderr = !do_fork; if (!log_to_stderr) openlog(PROGRAM_NAME, LOG_PID, LOG_DAEMON); if (load_config(config_fn)) { fprintf (stderr, "Error loading config file.\n"); return 2; } my_random_init(); if (do_fork){ log_debug("forking..."); if (daemon(0, 0)){ log_error("daemonize failed: %s", strerror(errno)); return -1; } if (write_pid_file(pid_fn)){ log_warning("failed to create pid file"); } ev_loop_fork(evloop); } if (!do_fork) { ev_signal_init (&signal_watcher1, sig_term_cb, SIGINT); ev_signal_start (evloop, &signal_watcher1); } ev_signal_init (&signal_watcher2, sig_term_cb, SIGTERM); ev_signal_start (evloop, &signal_watcher2); ev_signal_init (&signal_watcher3, sig_ignore_cb, SIGHUP); ev_signal_start (evloop, &signal_watcher3); ev_signal_init (&signal_watcher4, sig_ignore_cb, SIGPIPE); ev_signal_start (evloop, &signal_watcher4); if (csconv_init()){ return 0; } if (rtsp_init(rtsp_server)){ csconv_cleanup(); return 0; } elevate_privileges(); setup_io_prio(); drop_privileges(); log_info("starting..."); ev_run(evloop, 0); log_info("cleaning up..."); rtsp_cleanup(rtsp_server); csconv_cleanup(); if (server_str_id) free(server_str_id); log_info("exiting..."); if (!log_to_stderr) closelog(); return 0; }