// // server main // int main(int pv_argc, char *pa_argv[]) { bool lv_done; int lv_ferr; int lv_lerr; BMS_SRE lv_sre; CALL_COMP_DOVERS(idtmsrv, pv_argc, pa_argv); do_init(pv_argc, pa_argv); lv_ferr = msg_mon_process_startup(true); // system messages assert(lv_ferr == XZFIL_ERR_OK); msg_mon_enable_mon_messages(true); lv_ferr = msg_mon_get_my_process_name(ga_name, sizeof(ga_name)); assert(lv_ferr == XZFIL_ERR_OK); do_shm(); lv_ferr = timer_start_cb(gv_time_refresh_delay, 0, 0, &gv_tleid, &timer_callback); assert(lv_ferr == XZFIL_ERR_OK); lv_done = false; while (!lv_done) { do { lv_lerr = XWAIT(LREQ, -1); lv_lerr = BMSG_LISTEN_((short *) &lv_sre, // sre 0, // listenopts 0); // listenertag } while (lv_lerr == XSRETYPE_NOWORK); if (lv_sre.sre_flags & XSRE_MON) { do_mon_msg(&lv_sre, &lv_done); } else { do_req(&lv_sre); } } if (gv_verbose) printf("server %s shutting down\n", ga_name); lv_ferr = msg_mon_process_shutdown(); assert(lv_ferr == XZFIL_ERR_OK); return 0; }
// // server main // int main(int argc, char *argv[]) { bool done; int ferr; int lerr; BMS_SRE sre; do_init(argc, argv); ferr = msg_mon_process_startup(true); // system messages assert(ferr == XZFIL_ERR_OK); msg_mon_enable_mon_messages(true); ferr = msg_mon_get_my_process_name(name, sizeof(name)); assert(ferr == XZFIL_ERR_OK); do_shm(); done = false; while (!done) { do { lerr = XWAIT(LREQ, -1); lerr = BMSG_LISTEN_((short *) &sre, // sre 0, // listenopts 0); // listenertag } while (lerr == XSRETYPE_NOWORK); if (sre.sre_flags & XSRE_MON) { do_mon_msg(&sre, &done); } else { do_req(&sre); } } if (verbose) printf("server %s shutting down\n", name); ferr = msg_mon_process_shutdown(); assert(ferr == XZFIL_ERR_OK); return 0; }