Пример #1
0
/*
 * save buffer according to its data type
 */
int save_buffer(EditBuffer *b)
{
    int ret, mode;
    char buf1[MAX_FILENAME_SIZE];
    const char *filename;
    struct stat st;

    if (!b->data_type->buffer_save)
        return -1;
    
    filename = b->filename;
    /* get old file permission */
    mode = 0644;
    if (stat(filename, &st) == 0)
        mode = st.st_mode & 0777;

    /* backup old file if present */
    strcpy(buf1, filename);
    strcat(buf1, "~");
    rename(filename, buf1);

    ret = b->data_type->buffer_save(b, filename);
    if (ret < 0)
        return ret;

#ifndef WIN32
    /* set correct file mode to old file permissions */
    chmod(filename, mode);
#endif
    /* reset log */
    log_reset(b);
    b->modified = 0;
    return 0;
}
Пример #2
0
void svndump_reset(void)
{
	log_reset();
	buffer_reset();
	repo_reset();
	reset_dump_ctx(~0);
	reset_rev_ctx(0);
	reset_node_ctx(NULL);
}
Пример #3
0
int main()
{
	conf_init();
	log_reset();
	log_daemon();
	while(1)
	{
		sleep(10);
	}
}
void navigation_task()
{
	bool logging_enabled = false;
	navigation_init();

#ifdef FLASH_ENABLED
	if (flash_init() == 0) {
		logging_enabled = true;
	}

    if (logging_enabled) {
        if (!log_init()) {
            serial_printf(cli_stdout, "log_init failed\n");
            log_reset();
        }
    }

    //We look if we have mavlink mission item logged, in case we just suffered a crash

    uint32_t time = 0;
    char name[4]; //Name is a 3 characters long string
    mission_item_list_t item_list;
    if(log_read_mavlink_item_list(&item_list, &time, &name, &pos_counter))
    	navigation_restore_mission_items(item_list);

#endif

    unsigned int loops_since_stop = 0;
	while(1){

//		navigation_update_target();
		navigation_update_current_target();
		navigation_update_position();
		navigation_update_state();
		navigation_arm_disarm();
		navigation_move();

		if(navigation_rover_moving() || loops_since_stop < 62) // trasmit messages after stop for a duration such that
																//at least one msg with speed zero is tx'd via LoRa
		{
			comm_mavlink_broadcast(navigation_pack_mavlink_hud());
			comm_mavlink_broadcast(navigation_pack_rc_channels_scaled());
		}

		if(!navigation_rover_moving())
			loops_since_stop++;
		else
			loops_since_stop = 0;


		Task_sleep(500);

	}
}
Пример #5
0
void svndump_deinit(void)
{
	log_reset();
	repo_reset();
	reset_dump_ctx(~0);
	reset_rev_ctx(0);
	reset_node_ctx(NULL);
	if (buffer_deinit())
		fprintf(stderr, "Input error\n");
	if (ferror(stdout))
		fprintf(stderr, "Output error\n");
}
Пример #6
0
int module_start(SceSize argc, const void *args)
{
	int i, j;
	int ret;
	size_t num;
	SceKernelModuleInfo modinfo;
	SceUID modlist[MOD_LIST_SIZE];

	log_reset();

	LOG("kplugin by xerpi\n");

	memset(modlist, 0, sizeof(modlist));

	num = MOD_LIST_SIZE;
	ret = ksceKernelGetModuleList(KERNEL_PID, 0x80000001, 1, modlist, &num);
	if (ret < 0)
		LOG("Error getting the module list\n");

	LOG("Found %d modules.\n", num);

	for (i = 0; i < num; i++) {
		memset(&modinfo, 0, sizeof(modinfo));

		ret = ksceKernelGetModuleInfo(KERNEL_PID, modlist[i], &modinfo);
		if (ret < 0) {
			LOG("Error getting the module info for module: %d\n", i);
			continue;
		}

		LOG("Module %d name: %s\n", i, modinfo.module_name);

		for (j = 0; j < 4; j++) {
			char path[128];
			SceKernelSegmentInfo *seginfo = &modinfo.segments[j];

			if (seginfo->size != sizeof(*seginfo))
				continue;

			if (seginfo->vaddr == NULL)
				continue;

			snprintf(path, sizeof(path), DUMP_PATH "%s_0x%08X_seg%d.bin",
				modinfo.module_name, (uintptr_t)seginfo->vaddr, j);

			dump_region(path, seginfo->vaddr, seginfo->memsz);
		}
		doDump(&modinfo);
	}

	return SCE_KERNEL_START_SUCCESS;
}
Пример #7
0
void eb_free(EditBuffer *b)
{
    QEmacsState *qs = &qe_state;
    EditBuffer **pb;
    EditBufferCallbackList *l, *l1;

    /* call user defined close */
    if (b->close)
        b->close(b);

    /* free each callback */
    for (l = b->first_callback; l != NULL;) {
        l1 = l->next;
        free(l);
        l = l1;
    }
    b->first_callback = NULL;

    b->save_log = 0;
    eb_delete(b, 0, b->total_size);
    log_reset(b);

    /* suppress mmap file handle */
    if (b->file_handle > 0) {
        close(b->file_handle);
    }

    /* suppress from buffer list */
    pb = &qs->first_buffer;
    while (*pb != NULL) {
        if (*pb == b)
            break;
        pb = &(*pb)->next;
    }
    *pb = (*pb)->next;

    free(b);
}
Пример #8
0
void after_reset_ack() {
    resetSignaled = false;
    log_reset();
    ui_reset();
}
Пример #9
0
/* invalidate buffer raw data */
void eb_invalidate_raw_data(EditBuffer *b)
{
    b->save_log = 0;
    eb_delete(b, 0, b->total_size);
    log_reset(b);
}
Пример #10
0
int release_modules()
{
     int i;

     log_reset();               /*resetting logs- we are going to release loggers ... */
     access_reset();

/*     service_handlers */
     for (i = 0; i < service_handlers.modules_num; i++) {
          if (((service_handler_module_t *) service_handlers.modules[i])->
              release_service_handler != NULL)
               ((service_handler_module_t *) service_handlers.modules[i])->
                   release_service_handler();
     }
     RELEASE_MOD_LIST(service_handlers);

/*     loggers? loggers do not have post init handlers .... */
     for (i = 0; i < loggers.modules_num; i++) {
          if (((logger_module_t *) loggers.modules[i])->log_close != NULL)
               ((logger_module_t *) loggers.modules[i])->log_close();
     }
     RELEASE_MOD_LIST(loggers);

/*     access_controllers */
     for (i = 0; i < access_controllers.modules_num; i++) {
          if (((access_control_module_t *) access_controllers.modules[i])->
              release_access_controller != NULL)
               ((access_control_module_t *) access_controllers.modules[i])->
                   release_access_controller(&CONF);
     }
     RELEASE_MOD_LIST(access_controllers);

/*     auth_methods */
     for (i = 0; i < auth_methods.modules_num; i++) {
          if (((http_auth_method_t *) auth_methods.modules[i])->
              close_auth_method != NULL)
               ((http_auth_method_t *) auth_methods.modules[i])->
                   close_auth_method(&CONF);
     }
     RELEASE_MOD_LIST(auth_methods);

/*     authenticators */
     for (i = 0; i < authenticators.modules_num; i++) {
          if (((authenticator_module_t *) authenticators.modules[i])->
              close_authenticator != NULL)
               ((authenticator_module_t *) authenticators.modules[i])->
                   close_authenticator(&CONF);
     }
     RELEASE_MOD_LIST(authenticators);

/*     common modules */
     for (i = common_modules.modules_num-1; i >= 0 ; i--) {
          if (((common_module_t *) common_modules.modules[i])->
              close_module != NULL)
               ((common_module_t *) common_modules.modules[i])->
                   close_module(&CONF);
     }
     RELEASE_MOD_LIST(common_modules);

     return 1;
}