Changes in uspace/srv/devman/loc.c [5a6cc679:a35b458] in mainline
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/srv/devman/loc.c
r5a6cc679 ra35b458 43 43 char *loc_pathname = NULL; 44 44 char *loc_name = NULL; 45 45 46 46 assert(fibril_rwlock_is_locked(&tree->rwlock)); 47 47 48 48 asprintf(&loc_name, "%s", fun->pathname); 49 49 if (loc_name == NULL) 50 50 return; 51 51 52 52 replace_char(loc_name, '/', LOC_SEPARATOR); 53 53 54 54 asprintf(&loc_pathname, "%s/%s", LOC_DEVICE_NAMESPACE, 55 55 loc_name); … … 58 58 return; 59 59 } 60 60 61 61 loc_service_register(loc_pathname, &fun->service_id); 62 62 63 63 tree_add_loc_function(tree, fun); 64 64 65 65 free(loc_name); 66 66 free(loc_pathname); … … 77 77 { 78 78 fun_node_t *fun = NULL; 79 79 80 80 fibril_rwlock_read_lock(&tree->rwlock); 81 81 ht_link_t *link = hash_table_find(&tree->loc_functions, &service_id); … … 85 85 } 86 86 fibril_rwlock_read_unlock(&tree->rwlock); 87 87 88 88 return fun; 89 89 } … … 92 92 { 93 93 assert(fibril_rwlock_is_write_locked(&tree->rwlock)); 94 94 95 95 hash_table_insert(&tree->loc_functions, &fun->loc_fun); 96 96 } … … 99 99 { 100 100 assert(fibril_rwlock_is_write_locked(&tree->rwlock)); 101 101 102 102 hash_table_remove(&tree->loc_functions, &fun->service_id); 103 103 }
Note:
See TracChangeset
for help on using the changeset viewer.