Changeset fa101c4 in mainline for uspace/srv/inet/addrobj.c


Ignore:
Timestamp:
2012-03-08T22:30:19Z (13 years ago)
Author:
Jiri Svoboda <jiri@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
637a3b4
Parents:
291c792
Message:

Address deletion (needs better synchronization).

File:
1 edited

Legend:

Unmodified
Added
Removed
  • uspace/srv/inet/addrobj.c

    r291c792 rfa101c4  
    4141#include <ipc/loc.h>
    4242#include <stdlib.h>
     43#include <str.h>
    4344
    4445#include "addrobj.h"
     
    119120                        fibril_mutex_unlock(&addr_list_lock);
    120121                        log_msg(LVL_DEBUG, "inet_addrobj_find: found %p",
    121                             addr);
     122                            naddr);
    122123                        return naddr;
    123124                }
     
    125126
    126127        log_msg(LVL_DEBUG, "inet_addrobj_find: Not found");
     128        fibril_mutex_unlock(&addr_list_lock);
     129
     130        return NULL;
     131}
     132
     133/** Find address object on a link, with a specific name.
     134 *
     135 * @param name  Address object name
     136 * @param ilink Inet link
     137 * @return      Address object
     138 */
     139inet_addrobj_t *inet_addrobj_find_by_name(const char *name, inet_link_t *ilink)
     140{
     141        log_msg(LVL_DEBUG, "inet_addrobj_find_by_name('%s', '%s')",
     142            name, ilink->svc_name);
     143
     144        fibril_mutex_lock(&addr_list_lock);
     145
     146        list_foreach(addr_list, link) {
     147                inet_addrobj_t *naddr = list_get_instance(link,
     148                    inet_addrobj_t, addr_list);
     149
     150                if (naddr->ilink == ilink && str_cmp(naddr->name, name) == 0) {
     151                        fibril_mutex_unlock(&addr_list_lock);
     152                        log_msg(LVL_DEBUG, "inet_addrobj_find_by_name: found %p",
     153                            naddr);
     154                        return naddr;
     155                }
     156        }
     157
     158        log_msg(LVL_DEBUG, "inet_addrobj_find_by_name: Not found");
    127159        fibril_mutex_unlock(&addr_list_lock);
    128160
Note: See TracChangeset for help on using the changeset viewer.