Changeset 9532981 in mainline for uspace/srv/sysman/repo.c


Ignore:
Timestamp:
2019-08-07T09:35:37Z (6 years ago)
Author:
Matthieu Riolo <matthieu.riolo@…>
Children:
db34424
Parents:
af92309
git-author:
Michal Koutný <xm.koutny+hos@…> (2015-11-02 23:10:51)
git-committer:
Matthieu Riolo <matthieu.riolo@…> (2019-08-07 09:35:37)
Message:

sysman: Rename dependency to edge (more generic)

File:
1 edited

Legend:

Unmodified
Added
Removed
  • uspace/srv/sysman/repo.c

    raf92309 r9532981  
    3535
    3636#include "repo.h"
    37 #include "dep.h"
     37#include "edge.h"
    3838#include "log.h"
    3939
     
    148148{
    149149        unit_t *unit = hash_table_get_inst(ht_link, unit_t, units_by_name);
    150         // TODO state locking?
    151150        if (unit->state == STATE_EMBRYO) {
    152151                unit->state = STATE_STOPPED;
    153152        }
    154153
    155         list_foreach(unit->dependencies, dependencies, unit_dependency_t, dep) {
    156                 if (dep->state == DEP_EMBRYO) {
    157                         dep->state = DEP_VALID;
    158                 }
     154        list_foreach(unit->edges_out, edges_out, unit_edge_t, e) {
     155                e->commited = true;
    159156        }
    160157        return true;
     
    177174        unit_t *unit = hash_table_get_inst(ht_link, unit_t, units_by_name);
    178175
    179         list_foreach_safe(unit->dependencies, cur_link, next_link) {
    180                 unit_dependency_t *dep =
    181                     list_get_instance(cur_link, unit_dependency_t, dependencies);
    182                 if (dep->state == DEP_EMBRYO) {
    183                         dep_remove_dependency(&dep);
     176        list_foreach_safe(unit->edges_out, cur_link, next_link) {
     177                unit_edge_t *e =
     178                    list_get_instance(cur_link, unit_edge_t, edges_out);
     179                if (!e->commited) {
     180                        edge_remove(&e);
    184181                }
    185182        }
     
    210207        unit_t *unit = hash_table_get_inst(ht_link, unit_t, units_by_name);
    211208
    212         list_foreach(unit->dependencies, dependencies, unit_dependency_t, dep) {
    213                 assert(dep->dependant == unit);
    214                 assert((dep->dependency != NULL) != (dep->dependency_name != NULL));
    215                 if (dep->dependency) {
     209        list_foreach(unit->edges_out, edges_out, unit_edge_t, e) {
     210                assert(e->input == unit);
     211                assert((e->output != NULL) != (e->output_name != NULL));
     212                if (e->output) {
    216213                        continue;
    217214                }
    218215
    219                 unit_t *dependency =
    220                     repo_find_unit_by_name(dep->dependency_name);
    221                 if (dependency == NULL) {
     216                unit_t *output =
     217                    repo_find_unit_by_name(e->output_name);
     218                if (output == NULL) {
    222219                        sysman_log(LVL_ERROR,
    223220                            "Cannot resolve dependency of '%s' to unit '%s'",
    224                             unit_name(unit), dep->dependency_name);
     221                            unit_name(unit), e->output_name);
    225222                        *has_error_ptr = true;
    226223                        // TODO should we just leave the sprout untouched?
    227224                } else {
    228                         dep_resolve_dependency(dep, dependency);
     225                        edge_resolve_output(e, output);
    229226                }
    230227        }
     
    238235 * @return ENOENT  when one or more resolution fails, information is logged
    239236 */
    240 int repo_resolve_dependecies(void)
     237int repo_resolve_references(void)
    241238{
    242239        sysman_log(LVL_DEBUG2, "%s", __func__);
Note: See TracChangeset for help on using the changeset viewer.