Changeset d17cf8c in mainline for uspace/app/hbench/env.c


Ignore:
Timestamp:
2019-01-21T13:39:37Z (5 years ago)
Author:
Vojtech Horky <vojtech.horky@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
94d52d5
Parents:
e7f9a09
Message:

hbench: remove global state

Move benchmark parameters into a benchmark environment structure that is
passed to each benchmark.

File:
1 moved

Legend:

Unmodified
Added
Removed
  • uspace/app/hbench/env.c

    re7f9a09 rd17cf8c  
    3434 */
    3535
    36 #include <adt/hash_table.h>
    3736#include <stdlib.h>
    3837#include <stdio.h>
     
    9089};
    9190
    92 /** Table of extra parameters (of param_t). */
    93 static hash_table_t param_hash_table;
    94 
    95 extern errno_t bench_param_init(void)
     91extern errno_t bench_env_init(bench_env_t *env)
    9692{
    97         bool ok = hash_table_create(&param_hash_table, 0, 0, &param_hash_table_ops);
     93        bool ok = hash_table_create(&env->parameters, 0, 0, &param_hash_table_ops);
    9894        if (!ok) {
    9995                return ENOMEM;
     
    10399}
    104100
    105 extern void bench_param_cleanup(void)
     101extern void bench_env_cleanup(bench_env_t *env)
    106102{
    107         hash_table_destroy(&param_hash_table);
     103        hash_table_destroy(&env->parameters);
    108104}
    109105
    110 errno_t bench_param_set(const char *key, const char *value)
     106errno_t bench_env_param_set(bench_env_t *env, const char *key, const char *value)
    111107{
    112108        param_t *param = malloc(sizeof(param_t));
     
    126122        }
    127123
    128         hash_table_insert(&param_hash_table, &param->link);
     124        hash_table_insert(&env->parameters, &param->link);
    129125
    130126        return EOK;
    131127}
    132128
    133 const char *bench_param_get(const char *key, const char *default_value)
     129const char *bench_env_param_get(bench_env_t *env, const char *key, const char *default_value)
    134130{
    135         ht_link_t *item = hash_table_find(&param_hash_table, (char *) key);
     131        ht_link_t *item = hash_table_find(&env->parameters, (char *) key);
    136132
    137133        if (item == NULL) {
Note: See TracChangeset for help on using the changeset viewer.