Changeset b417559 in mainline for uspace/srv/net/inetsrv/inet_link.c
- Timestamp:
- 2013-09-24T21:00:52Z (11 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- 1b0602a3
- Parents:
- 66ec63a
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/srv/net/inetsrv/inet_link.c
r66ec63a rb417559 56 56 57 57 static int inet_iplink_recv(iplink_t *, iplink_recv_sdu_t *, uint16_t); 58 static inet_link_t *inet_link_get_by_id_locked(sysarg_t); 58 59 59 60 static iplink_ev_ops_t inet_iplink_ev_ops = { … … 183 184 184 185 log_msg(LOG_DEFAULT, LVL_DEBUG, "Opened IP link '%s'", ilink->svc_name); 186 187 fibril_mutex_lock(&inet_links_lock); 188 189 if (inet_link_get_by_id_locked(sid) != NULL) { 190 fibril_mutex_unlock(&inet_links_lock); 191 log_msg(LOG_DEFAULT, LVL_DEBUG, "Link %zu already open", 192 sid); 193 rc = EEXIST; 194 goto error; 195 } 196 185 197 list_append(&ilink->link_list, &inet_links); 198 fibril_mutex_unlock(&inet_links_lock); 186 199 187 200 inet_addrobj_t *addr = NULL; … … 412 425 } 413 426 427 static inet_link_t *inet_link_get_by_id_locked(sysarg_t link_id) 428 { 429 assert(fibril_mutex_is_locked(&inet_links_lock)); 430 431 list_foreach(inet_links, link_list, inet_link_t, ilink) { 432 if (ilink->svc_id == link_id) 433 return ilink; 434 } 435 436 return NULL; 437 } 438 414 439 inet_link_t *inet_link_get_by_id(sysarg_t link_id) 415 440 { 441 inet_link_t *ilink; 442 416 443 fibril_mutex_lock(&inet_links_lock); 417 418 list_foreach(inet_links, link_list, inet_link_t, ilink) { 419 if (ilink->svc_id == link_id) { 420 fibril_mutex_unlock(&inet_links_lock); 421 return ilink; 422 } 423 } 424 444 ilink = inet_link_get_by_id_locked(link_id); 425 445 fibril_mutex_unlock(&inet_links_lock); 426 return NULL; 446 447 return ilink; 427 448 } 428 449
Note:
See TracChangeset
for help on using the changeset viewer.