Exemplo n.º 1
0
/******************************************************************************

  mysql_start()
  
  Start the mysql servers.

******************************************************************************/
void mysql_start()
{
  log_info("Starting the MySQL server(s): %u", ++restarts);
  start_master();

  start_slave();

  // activate the test screen
  ActivateScreen(getscreenhandle());
}
Exemplo n.º 2
0
static void
master_net_start(void)
{
	if (standalone == 0) {
		if (miface == 2) {
			recver_start();
		}
		start_file_server();
		start_master();
		grp_start();
	}
}
Exemplo n.º 3
0
static void
master_service_start(void)
{
	zopt_start();
	recver_init();
	recver_prepare();
	recver_start();
	if (standalone == 0) {
		start_file_server();
		start_master();
		grp_start();
	}
}
Exemplo n.º 4
0
static bool ltr_int_try_start_master(int *l_master_uplink, int *l_master_downlink)
{
  int master_restart_retries = master_retries;
  while(master_restart_retries > 0){

    close_master_comms(l_master_uplink, l_master_downlink);
    if(ltr_int_gui_lock(false)){

      start_master(l_master_uplink, l_master_downlink);
      --master_restart_retries;
    }else{
      master_restart_retries = master_retries;
    }

    if(open_master_comms(l_master_uplink, l_master_downlink)){
      ltr_int_log_message("Master is responding!\n");
      return true;
    }
    sleep(2);
  }
  return false;
}
Exemplo n.º 5
0
static bool ltr_int_try_start_master(int *l_master_uplink)
{
  int master_restart_retries = master_retries;
  while(master_restart_retries > 0){
    close_master_comms(l_master_uplink);
    if(ltr_int_gui_lock(false)){
      ltr_int_log_message("GUI lock retrieved, no GUI running.\n");
      start_master();
      usleep(100);
      --master_restart_retries;
    }else{
      master_restart_retries = master_retries;
    }

    if(open_master_comms(l_master_uplink)){
      ltr_int_log_message("Master is responding!\n");
      return true;
    }
    sleep(1);
  }
  return false;
}
Exemplo n.º 6
0
void
child_handler(int sig)
{
    int             pid;
    LS_WAIT_T       status;
    struct rusage   rusage;
    register float  cpuTime;
    struct lsfRusage lsfRusage;
    struct jobCard *jobCard;
    static short lastMbdExitVal = MASTER_NULL;
    static int sbd_finish_sleep = -1;

    cleanRusage (&rusage);
    now = time(0);
    while ((pid=wait3(&status, WNOHANG, &rusage)) > 0) {
        if (pid == mbdPid) {
            int sig = WTERMSIG(status);
            if (mbdExitCnt > 150)
                mbdExitCnt = 150;
            mbdExitVal = WIFSIGNALED(status);
            if (mbdExitVal) {
                ls_syslog(LOG_ERR, _i18n_msg_get(ls_catd , NL_SETN, 5600,
                    "mbatchd died with signal <%d> termination"), /* catgets 5600 */
                    sig);
                if (WCOREDUMP(status))
                    ls_syslog(LOG_ERR, _i18n_msg_get(ls_catd , NL_SETN, 5601,
                        "mbatchd core dumped")); /* catgets 5601 */
                mbdExitVal = sig;
                if (mbdExitVal == lastMbdExitVal)
                    mbdExitCnt++;
                else {
                    mbdExitCnt = 0;
                    lastMbdExitVal = mbdExitVal;
                }
                continue;
            } else {
                mbdExitVal = WEXITSTATUS(status);

                if (mbdExitVal == lastMbdExitVal)
                    mbdExitCnt++;
                else {
                    mbdExitCnt = 0;
                    lastMbdExitVal = mbdExitVal;
                }
                if (mbdExitVal == MASTER_RECONFIG) {
                    ls_syslog(LOG_NOTICE, _i18n_msg_get(ls_catd , NL_SETN, 5602,
                        "mbatchd resigned for reconfiguration")); /* catgets 5602 */
                    start_master();
                } else
                    ls_syslog(LOG_NOTICE, _i18n_msg_get(ls_catd , NL_SETN, 5603,
                        "mbatchd exited with value <%d>"),  /* catgets 5603 */
                        mbdExitVal);
                continue;
            }
        }

        ls_ruunix2lsf (&rusage, &lsfRusage);
        cpuTime = lsfRusage.ru_utime + lsfRusage.ru_stime;

        for (jobCard = jobQueHead->forw; (jobCard != jobQueHead);
             jobCard = jobCard->forw) {

            if (jobCard->exitPid == pid) {
                jobCard->w_status = LS_STATUS(status);
                jobCard->exitPid = -1;
                if (logclass & LC_EXEC) {
                    ls_syslog(LOG_DEBUG, I18N(5604,
                              "child_handler: Job <%s> exitPid <%d> status <%d> exitcode <%d>"),/*catgets 5604*/
                              lsb_jobid2str(jobCard->jobSpecs.jobId),
                              pid, jobCard->w_status,
                              WEXITSTATUS(status));
                }
            }

            if (jobCard->jobSpecs.jobPid == pid) {
                jobCard->collectedChild = TRUE;
                jobCard->cpuTime = cpuTime;
                jobCard->w_status = LS_STATUS(status);
                jobCard->exitPid = -1;
                memcpy ((char *) &jobCard->lsfRusage, (char *) &lsfRusage,
                        sizeof (struct lsfRusage));
                jobCard->notReported++;



                if (sbd_finish_sleep < 0) {
                    if (daemonParams[LSB_SBD_FINISH_SLEEP].paramValue) {
                        errno = 0;
                        sbd_finish_sleep = atoi(daemonParams[LSB_SBD_FINISH_SLEEP].paramValue);
                        if (errno)
                            sbd_finish_sleep = 0;
                    } else {
                        sbd_finish_sleep=0;
                    }
                }
                if (sbd_finish_sleep > 0) {
                    millisleep_(sbd_finish_sleep);
                }

                if (logclass & LC_EXEC) {
                    ls_syslog(LOG_DEBUG, I18N(5605,
                              "child_handler: Job <%s> Pid <%d> status <%d> exitcode <%d>"), /*catgets 5605*/
                              lsb_jobid2str(jobCard->jobSpecs.jobId), pid,
                              jobCard->w_status, WEXITSTATUS(status));
                }
                need_checkfinish = TRUE;

                break;
            }
        }
    }


}
Exemplo n.º 7
0
// main function
int _tmain(int argc, _TCHAR* argv[])
{
	int code = 0;
	int interactive = 0;
	int tcp_port = 13110;
	int com_port = 0;

	// set console to display special characters correctly
	setlocale(LC_ALL, "");

	printf("WinOPDI test program. Arguments: [-i] [-tcp <port>] [-com <port>]\n");
	printf("-i starts the interactive master.\n");

	for (int i = 1; i < argc; i++) {
        if (_tcscmp(argv[i], _T("-i")) == 0) {
			interactive = 1;
		} else
        if (i < argc - 1) {
            if (_tcscmp(argv[i], _T("-tcp")) == 0) {
				// parse tcp port number
				tcp_port = _wtoi(argv[++i]);
				if ((tcp_port < 1) || (tcp_port > 65535)) {
					printf("Invalid TCP port number: %d\n", tcp_port);
					exit(1);
				}
            } else if (_tcscmp(argv[i], _T("-com")) == 0) {
				// parse com port number
				com_port = _wtoi(argv[++i]);
				if ((com_port < 1) || (com_port > 32)) {
					printf("Invalid COM port number: %d\n", com_port);
					exit(1);
				}
            } else {
				printf("Unrecognized argument: %s\n", argv[i]);
				exit(1);
			}
        }
		else {
			printf("Invalid syntax: missing argument\n");
			exit(1);
		}
    }

	// master?
	if (interactive) {
		code = start_master();
	} else {
		opdi_set_timeout(65535);

		// slave
		if (com_port > 0) {
			LPCTSTR comPort = (LPCTSTR)malloc(6);
			wsprintf((LPTSTR)comPort, _T("COM%d"), com_port);

			code = listen_com(comPort, 115000, ONESTOPBIT, NOPARITY, 8, 1000);
		}
		else {
			code = listen_tcp(tcp_port);
		}
	}
	printf("Exit code: %d", code);
	exit(code);
}