Changes in uspace/srv/loc/loc.c [d0dd7b5:763e0cd] in mainline


Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • uspace/srv/loc/loc.c

    rd0dd7b5 r763e0cd  
    6767 **/
    6868
    69 FIBRIL_MUTEX_INITIALIZE(services_list_mutex);
     69static FIBRIL_MUTEX_INITIALIZE(services_list_mutex);
    7070static FIBRIL_CONDVAR_INITIALIZE(services_list_cv);
    7171static FIBRIL_MUTEX_INITIALIZE(servers_list_mutex);
     
    311311{
    312312        assert(fibril_mutex_is_locked(&services_list_mutex));
    313         assert(fibril_mutex_is_locked(&cdir.mutex));
    314        
     313
    315314        loc_namespace_delref(service->namespace);
    316315        list_remove(&(service->services));
    317316        list_remove(&(service->server_services));
    318        
    319         /* Remove service from all categories. */
    320         while (!list_empty(&service->cat_memb)) {
    321                 link_t *link = list_first(&service->cat_memb);
    322                 svc_categ_t *memb = list_get_instance(link, svc_categ_t,
    323                     svc_link);
    324                 fibril_mutex_lock(&memb->cat->mutex);
    325                 category_remove_service(memb);
    326                 fibril_mutex_unlock(&memb->cat->mutex);
    327         }
    328317       
    329318        free(service->name);
     
    426415        fibril_mutex_lock(&services_list_mutex);
    427416        fibril_mutex_lock(&server->services_mutex);
    428         fibril_mutex_lock(&cdir.mutex);
    429417       
    430418        while (!list_empty(&server->services)) {
     
    435423        }
    436424       
    437         fibril_mutex_unlock(&cdir.mutex);
    438425        fibril_mutex_unlock(&server->services_mutex);
    439426        fibril_mutex_unlock(&services_list_mutex);
     
    505492        link_initialize(&service->services);
    506493        link_initialize(&service->server_services);
    507         list_initialize(&service->cat_memb);
    508494       
    509495        /* Check that service is not already registered */
     
    543529 *
    544530 */
    545 static void loc_service_unregister(ipc_callid_t iid, ipc_call_t *icall,
     531static int loc_service_unregister(ipc_callid_t iid, ipc_call_t *icall,
    546532    loc_server_t *server)
    547533{
    548         loc_service_t *svc;
    549        
    550         fibril_mutex_lock(&services_list_mutex);
    551         svc = loc_service_find_id(IPC_GET_ARG1(*icall));
    552         if (svc == NULL) {
    553                 fibril_mutex_unlock(&services_list_mutex);
    554                 async_answer_0(iid, ENOENT);
    555                 return;
    556         }
    557        
    558         fibril_mutex_lock(&cdir.mutex);
    559         loc_service_unregister_core(svc);
    560         fibril_mutex_unlock(&cdir.mutex);
    561         fibril_mutex_unlock(&services_list_mutex);
    562         async_answer_0(iid, EOK);
     534        /* TODO */
     535        return EOK;
    563536}
    564537
     
    12031176       
    12041177        fibril_mutex_lock(&services_list_mutex);
    1205         fibril_mutex_lock(&cdir.mutex);
    12061178        loc_service_unregister_core(null_services[i]);
    1207         fibril_mutex_unlock(&cdir.mutex);
    12081179        fibril_mutex_unlock(&services_list_mutex);
    12091180       
     
    12711242
    12721243        cat = category_new("usbhc");
    1273         categ_dir_add_cat(&cdir, cat);
    1274 
    1275         cat = category_new("virtual");
    12761244        categ_dir_add_cat(&cdir, cat);
    12771245
Note: See TracChangeset for help on using the changeset viewer.