コード例 #1
0
ファイル: InstanceClass.cpp プロジェクト: sfsy1989/j2me
void InstanceClass::initialize(JVM_SINGLE_ARG_TRAPS) {
  JavaClassObj::Raw mirror = java_mirror();
  if (mirror().is_initialized()) {
    return;
  }
  initialize_internal(Thread::current(), &mirror JVM_CHECK);
}
コード例 #2
0
ファイル: varnam.c プロジェクト: sdqali/libvarnam
int
varnam_init(const char *scheme_file, varnam **handle, char **msg)
{
    int rc;
    varnam *c;
    struct varnam_internal *vi;
    size_t filename_length;

    if(scheme_file == NULL)
        return VARNAM_ARGS_ERROR;

    c = (varnam *) xmalloc(sizeof (varnam));
    if(!c)
        return VARNAM_MEMORY_ERROR;

    vi = initialize_internal();
    if(!vi)
        return VARNAM_MEMORY_ERROR;

    vi->message = (char *) xmalloc(sizeof (char) * VARNAM_LIB_TEMP_BUFFER_SIZE);
    if(!vi->message)
        return VARNAM_MEMORY_ERROR;

    rc = sqlite3_open(scheme_file, &vi->db);
    if( rc ) {
        asprintf(msg, "Can't open %s: %s\n", scheme_file, sqlite3_errmsg(vi->db));
        sqlite3_close(vi->db);
        return VARNAM_STORAGE_ERROR;
    }

    filename_length = strlen(scheme_file);
    c->scheme_file = (char *) xmalloc(filename_length + 1);
    if(!c->scheme_file)
        return VARNAM_MEMORY_ERROR;

    strncpy(c->scheme_file, scheme_file, filename_length + 1);
    vi->renderers = renderers;
    c->internal = vi;

    rc = ensure_schema_exist(c, msg);
    if (rc != VARNAM_SUCCESS)
        return rc;

    *handle = c;
    return VARNAM_SUCCESS;
}
コード例 #3
0
ファイル: InstanceClass.cpp プロジェクト: sfsy1989/j2me
// Initialize a class on behalf of a task.
// When entering here, the class may either be not initialized at all, or it 
// may be being initialized. 
//
// If not initialized, a task mirror is created.
// setup_java_mirror set the task mirror pointer in the task mirror table
// of the class in "initializing" state.
// set_initialized sets the task mirror pointer in "initialized" state.
ReturnOop InstanceClass::initialize_for_task(JVM_SINGLE_ARG_TRAPS){
  UsingFastOops fast_oops;
  TaskMirror::Fast tm; 
  tm = task_mirror_desc();
  if (TaskMirrorDesc::is_being_initialized_mirror((TaskMirrorDesc*)tm.obj())) {
    tm = TaskMirror::clinit_list_lookup(this);
    if (tm.is_null()) {
      // allocate Task mirror
      tm = setup_task_mirror(static_field_size(), vtable_length(), 
                             true JVM_CHECK_0);
      initialize_static_fields(&tm);
    }
  } else {
    return tm.obj();
  }
  GUARANTEE(!tm.is_null(), "null task mirror");
  JavaClassObj::Fast m = tm().real_java_mirror();
  initialize_internal(Thread::current(), &m JVM_CHECK_0);
  return tm.obj();
}
コード例 #4
0
ファイル: flow_cmd.c プロジェクト: tidatida/lagopus
lagopus_result_t
flow_cmd_initialize(void) {
  return initialize_internal();
}