Ejemplo n.º 1
0
static void
es_fap_destroy(es_resource_t *eres)
{
  es_fap_t *ef = (es_fap_t *)eres;
  fileaccess_unregister_dynamic(&ef->fap);
  free(ef->name);
  es_root_unregister(eres->er_ctx->ec_duk, eres);
  es_resource_unlink(&ef->super);
}
Ejemplo n.º 2
0
static void
es_fd_destroy(es_resource_t *eres)
{
  es_fd_t *efd = (es_fd_t *)eres;
  if(efd->efd_fh != NULL) {
    fa_close(efd->efd_fh);
    efd->efd_fh = NULL;
  }
  free(efd->efd_path);
  es_resource_unlink(&efd->super);
}
Ejemplo n.º 3
0
static void
es_timer_destroy(es_resource_t *eres)
{
  es_timer_t *et = (es_timer_t *)eres;

  es_root_unregister(eres->er_ctx->ec_duk, eres);

  if(et->et_expire) {
    hts_mutex_lock(&timer_mutex);
    LIST_REMOVE(et, et_link);
    hts_mutex_unlock(&timer_mutex);
  }

  es_resource_unlink(&et->super);
}
Ejemplo n.º 4
0
static void
es_route_destroy(es_resource_t *eres)
{
  es_route_t *er = (es_route_t *)eres;

  es_root_unregister(eres->er_ctx->ec_duk, eres);

  hts_mutex_lock(&route_mutex);
  LIST_REMOVE(er, er_link);
  hts_mutex_unlock(&route_mutex);

  free(er->er_pattern);
  hts_regfree(&er->er_regex);

  es_resource_unlink(&er->super);
}
Ejemplo n.º 5
0
static void
es_sqlite_destroy(es_resource_t *eres)
{
    es_sqlite_t *es = (es_sqlite_t *)eres;

    if(es->es_stmt)
        sqlite3_finalize(es->es_stmt);

    if(es->es_db != NULL)
        sqlite3_close(es->es_db);

    if(es->es_debug)
        TRACE(TRACE_DEBUG, "JS", "Database %s finalized", es->es_name);

    free(es->es_name);
    es_resource_unlink(&es->super);
}