Ejemplo n.º 1
0
int main(const int argc, const char **argv)
{
	int minTime, resolve;

	g_ape = native_netlib_init();
	g_ape->is_running = ape_running = 1;

	resolve = 0;
	if (argc == 1) {
		minTime = MIN_TIMEOUT;
	} else if (argc == 2) {
		minTime = atoi(argv[1]);
	} else if (argc == 3) {
		minTime = atoi(argv[1]);
		resolve = 1;
	} else {
		printf("Usage: %s [timeout] [resolve]\n\tdefault timeout: %d\n\tactivate dns socket: %d", argv[0], MIN_TIMEOUT, resolve);
		exit(1);
	}
	printf("starting interval with %d with%s resolving\n", minTime, (resolve)?"":"out");
	ape_gethostbyname("nidium.com", resolve_cb, NULL, g_ape);
	if (resolve){
		add_timer(&g_ape->timersng, minTime, interval_cb, &minTime);
	}
	
	events_loop(g_ape);
	native_netlib_destroy(g_ape);

	return 0;
}
Ejemplo n.º 2
0
int main(int argc, char *argv[])
{
    static const WCHAR svcctl_started_event[] = SVCCTL_STARTED_EVENT;
    DWORD err;

    g_hStartedEvent = CreateEventW(NULL, TRUE, FALSE, svcctl_started_event);
    load_registry_parameters();
    err = scmdatabase_create(&active_database);
    if (err != ERROR_SUCCESS)
        return err;
    if ((err = scmdatabase_load_services(active_database)) != ERROR_SUCCESS)
        return err;
    if ((err = RPC_Init()) == ERROR_SUCCESS)
    {
        scmdatabase_autostart_services(active_database);
        events_loop();
        scmdatabase_wait_terminate(active_database);
    }
    scmdatabase_destroy(active_database);
    if (env)
        DestroyEnvironmentBlock(env);

    WINE_TRACE("services.exe exited with code %d\n", err);
    return err;
}
Ejemplo n.º 3
0
Archivo: swm.c Proyecto: JuliusP/swm
int
main (void) {
	/* graceful exit */
	atexit(cleanup);

	init();
	discover();
	events_loop();

	return 0;
}
Ejemplo n.º 4
0
int
main(void)
{
	/* graceful exit */
	atexit(cleanup);

	if (deploy() < 0)
		errx(EXIT_FAILURE, "error connecting to X");

	for (;;)
		events_loop();

	return EXIT_FAILURE;
}
Ejemplo n.º 5
0
int main(int argc, char **argv)
{
    ape_global *ape;

    printf("    _    ____  _____   ____    ___  \n");
    printf("   / \\  |  _ \\| ____| |___ \\  / _ \\ \n");
    printf("  / _ \\ | |_) |  _|     __) || | | |\n");
    printf(" / ___ \\|  __/| |___   / __/ | |_| |\n");
    printf("/_/   \\_\\_|   |_____| |_____(_)___/ \n\t   Async Push Engine (%s)\n\n", __REV);
    printf("Build   : %s %s\n", __DATE__, __TIME__);
    printf("Author  : Anthony Catel ([email protected])\n\n");

    if ((ape = ape_init()) == NULL) {
        printf("Failed to initialize APE\n");
        exit(1);
    }

    ape_load_modules(ape);

    events_loop(ape);

    return 0;
}
Ejemplo n.º 6
0
int main(int argc, char **argv)
{
    ape_global *ape;

    printf("    _    ____  _____   ____    ___  \n");
    printf("   / \\  |  _ \\| ____| |___ \\  / _ \\ \n");
    printf("  / _ \\ | |_) |  _|     __) || | | |\n");
    printf(" / ___ \\|  __/| |___   / __/ | |_| |\n");
    printf("/_/   \\_\\_|   |_____| |_____(_)___/ \n\t   Async Push Engine (%s)\n\n", __REV);
    printf("Build   : %s %s\n", __DATE__, __TIME__);
    printf("Author  : Anthony Catel ([email protected])\n\n");

    if ((ape = ape_init()) == NULL) {
        printf("Failed to initialize APE\n");
        exit(1);
    }

    ape_load_modules(ape);

    /*printf("ape addr : %p\n", ape);

    ape_add_property(ape->extend, "foo", ape);

    printf("Get addr %p\n", ape_get_property(ape->extend, "foo", 3));*/
    
    printf("rand : %s\n", ape_rand_64_base64());
    
    APE_pipe_new(ape);
    
    ape_running = 1;
    events_loop(ape);
    
    ape_unload_modules(ape);

    return 0;
}
Ejemplo n.º 7
0
int main(int argc, char *argv[])
{
#ifndef _WIN32
  if (geteuid() == 0)
  {
    fprintf(stderr, "Running IRC services is root is not recommended.");
    return 1;
  }
  setup_corefile();
#endif
  memset(&ServicesInfo, 0, sizeof(ServicesInfo));
  memset(&ServicesState, 0, sizeof(ServicesState));

  ServicesState.configfile = CPATH; 
  ServicesState.logfile    = LPATH;
  ServicesState.pidfile    = PPATH;
  ServicesState.fully_connected = 0;

  parseargs(&argc, &argv, myopts);

  if(ServicesState.printversion)
  {
    printf("oftc-ircservices: version: %s\n", VERSION);
    exit(EXIT_SUCCESS);
  }

  if(chdir(DPATH))
  {
    perror("chdir");
    exit(EXIT_FAILURE);
  }

#ifndef _WIN32
  if(!ServicesState.foreground)
    make_daemon();
  else
    print_startup(getpid());
#endif

  setup_signals();
  memset(&me, 0, sizeof(me));

  libio_init(!ServicesState.foreground);
  init_events();
  iorecv_cb = register_callback("iorecv", iorecv_default);
  connected_cb = register_callback("server connected", server_connected);
  iosend_cb = register_callback("iosend", iosend_default);

  OpenSSL_add_all_digests();
 
  init_interface();
  check_pidfile(ServicesState.pidfile);
  init_log(ServicesState.logfile);

#ifdef HAVE_RUBY
  init_ruby();
  signal(SIGSEGV, SIG_DFL);
#endif

  init_channel();
  init_conf();
  init_client();
  init_parser();
  init_channel_modes();
  init_mqueue();
  init_tor();

  me.from = me.servptr = &me;
  SetServer(&me);
  SetMe(&me);
  dlinkAdd(&me, &me.node, &global_client_list);
  
  read_services_conf(TRUE);
  init_db();
  init_uid();
 
#ifdef HAVE_PYTHON
  init_python();
#endif

  init_kill();

  write_pidfile(ServicesState.pidfile);
  ilog(L_NOTICE, "Services Ready");

  db_load_driver();
#ifdef USE_SHARED_MODULES
  if(chdir(MODPATH))
  {
    ilog(L_ERROR, "Could not load core modules from %s: %s",
         MODPATH, strerror(errno));
    exit(EXIT_FAILURE);
  }

  /* Go back to DPATH after checking to see if we can chdir to MODPATH */
  chdir(DPATH);
#else
  load_all_modules(1);
#endif

  boot_modules(1);
  
  connect_server();

  for(;;)
  {
    while (eventNextTime() <= CurrentTime)
      eventRun();

    execute_callback(do_event_cb);

    if(events_loop() == -1)
    {
      ilog(L_CRIT, "libevent returned error %d", errno);
      services_die("Libevent returned some sort of error", NO);
      break;
    }

    comm_select();
    send_queued_all();

    if(dorehash)
    {
      ilog(L_INFO, "Got SIGHUP, reloading configuration");
      read_services_conf(NO);
      dorehash = 0;
    }
  }

  return 0;
}