Changeset 8b655705 in mainline for uspace/srv/net/il/arp/arp.c


Ignore:
Timestamp:
2011-04-15T19:38:07Z (13 years ago)
Author:
Jakub Jermar <jakub@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
9dd730d1
Parents:
6b9e85b (diff), b2fb47f (diff)
Note: this is a merge changeset, the changes displayed below correspond to the merge itself.
Use the (diff) links above to see all the changes relative to each parent.
Message:

Merge mainline changes.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • uspace/srv/net/il/arp/arp.c

    r6b9e85b r8b655705  
    4545#include <task.h>
    4646#include <adt/measured_strings.h>
    47 #include <ipc/ipc.h>
    4847#include <ipc/services.h>
    4948#include <ipc/net.h>
     
    158157                       
    159158                        arp_clear_addr(&proto->addresses);
    160                         arp_addr_destroy(&proto->addresses);
    161                 }
    162         }
    163        
    164         arp_protos_clear(&device->protos);
     159                        arp_addr_destroy(&proto->addresses, free);
     160                }
     161        }
     162       
     163        arp_protos_clear(&device->protos, free);
    165164}
    166165
     
    185184        }
    186185       
    187         arp_cache_clear(&arp_globals.cache);
     186        arp_cache_clear(&arp_globals.cache, free);
    188187        fibril_mutex_unlock(&arp_globals.lock);
    189188       
     
    213212                arp_clear_trans(trans);
    214213       
    215         arp_addr_exclude(&proto->addresses, address->value, address->length);
     214        arp_addr_exclude(&proto->addresses, address->value, address->length, free);
    216215       
    217216        fibril_mutex_unlock(&arp_globals.lock);
     
    346345                            header->protocol_length, trans);
    347346                        if (rc != EOK) {
    348                                 /* The generic char map has already freed trans! */
     347                                free(trans);
    349348                                return rc;
    350349                        }
     
    428427                case NET_IL_DEVICE_STATE:
    429428                        /* Do nothing - keep the cache */
    430                         ipc_answer_0(iid, (sysarg_t) EOK);
     429                        async_answer_0(iid, (sysarg_t) EOK);
    431430                        break;
    432431               
     
    448447                                fibril_mutex_unlock(&arp_globals.lock);
    449448                        }
    450                         ipc_answer_0(iid, (sysarg_t) rc);
     449                        async_answer_0(iid, (sysarg_t) rc);
    451450                        break;
    452451               
     
    454453                        rc = arp_mtu_changed_message(IPC_GET_DEVICE(*icall),
    455454                            IPC_GET_MTU(*icall));
    456                         ipc_answer_0(iid, (sysarg_t) rc);
     455                        async_answer_0(iid, (sysarg_t) rc);
    457456                        break;
    458457               
    459458                default:
    460                         ipc_answer_0(iid, (sysarg_t) ENOTSUP);
     459                        async_answer_0(iid, (sysarg_t) ENOTSUP);
    461460                }
    462461               
     
    557556                if (index < 0) {
    558557                        fibril_mutex_unlock(&arp_globals.lock);
    559                         arp_protos_destroy(&device->protos);
     558                        arp_protos_destroy(&device->protos, free);
    560559                        free(device);
    561560                        return index;
     
    570569                if (device->phone < 0) {
    571570                        fibril_mutex_unlock(&arp_globals.lock);
    572                         arp_protos_destroy(&device->protos);
     571                        arp_protos_destroy(&device->protos, free);
    573572                        free(device);
    574573                        return EREFUSED;
     
    580579                if (rc != EOK) {
    581580                        fibril_mutex_unlock(&arp_globals.lock);
    582                         arp_protos_destroy(&device->protos);
     581                        arp_protos_destroy(&device->protos, free);
    583582                        free(device);
    584583                        return rc;
     
    590589                if (rc != EOK) {
    591590                        fibril_mutex_unlock(&arp_globals.lock);
    592                         arp_protos_destroy(&device->protos);
     591                        arp_protos_destroy(&device->protos, free);
    593592                        free(device);
    594593                        return rc;
     
    602601                        free(device->addr);
    603602                        free(device->addr_data);
    604                         arp_protos_destroy(&device->protos);
     603                        arp_protos_destroy(&device->protos, free);
    605604                        free(device);
    606605                        return rc;
     
    615614                        free(device->broadcast_addr);
    616615                        free(device->broadcast_data);
    617                         arp_protos_destroy(&device->protos);
     616                        arp_protos_destroy(&device->protos, free);
    618617                        free(device);
    619618                        return rc;
     
    747746                        arp_clear_trans(trans);
    748747                        arp_addr_exclude(&proto->addresses, target->value,
    749                             target->length);
     748                            target->length, free);
    750749                        return EAGAIN;
    751750                }
     
    795794            trans);
    796795        if (rc != EOK) {
    797                 /* The generic char map has already freed trans! */
     796                free(trans);
    798797                return rc;
    799798        }
     
    808807                arp_clear_trans(trans);
    809808                arp_addr_exclude(&proto->addresses, target->value,
    810                     target->length);
     809                    target->length, free);
    811810                return ENOENT;
    812811        }
Note: See TracChangeset for help on using the changeset viewer.