Changeset 76d7305 in mainline for generic/src


Ignore:
Timestamp:
2006-05-31T14:13:35Z (19 years ago)
Author:
Ondrej Palkovsky <ondrap@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
343fc179
Parents:
4fded58
Message:

Slightly changed semantics of AS_AREA_SEND/RECV.

Location:
generic/src
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • generic/src/ipc/sysipc.c

    r4fded58 r76d7305  
    137137                if (!IPC_GET_RETVAL(answer->data)) { /* Accepted, handle as_area receipt */
    138138                        ipl_t ipl;
     139                        int rc;
    139140                        as_t *as;
    140141                       
     
    145146                        interrupts_restore(ipl);
    146147                       
    147                         return as_area_share(as, IPC_GET_ARG1(*olddata), IPC_GET_ARG2(*olddata),
    148                                              AS, IPC_GET_ARG1(answer->data), IPC_GET_ARG3(*olddata));
     148                        rc = as_area_share(as, IPC_GET_ARG1(*olddata), IPC_GET_ARG2(*olddata),
     149                                           AS, IPC_GET_ARG1(answer->data), IPC_GET_ARG3(*olddata));
     150                        IPC_SET_RETVAL(answer->data, rc);
     151                        return rc;
    149152                }
    150153        } else if (IPC_GET_METHOD(*olddata) == IPC_M_AS_AREA_RECV) {
     
    161164                       
    162165                        rc = as_area_share(AS, IPC_GET_ARG1(answer->data), IPC_GET_ARG2(*olddata),
    163                                            as, IPC_GET_ARG1(*olddata), IPC_GET_ARG3(*olddata));
     166                                           as, IPC_GET_ARG1(*olddata), IPC_GET_ARG2(answer->data));
    164167                        IPC_SET_RETVAL(answer->data, rc);
    165168                }
  • generic/src/mm/as.c

    r4fded58 r76d7305  
    517517        src_backend_data = src_area->backend_data;
    518518       
    519         if (src_size != acc_size) {
     519        if (src_size != acc_size || (src_flags & dst_flags_mask) != dst_flags_mask) {
    520520                mutex_unlock(&src_area->lock);
    521521                mutex_unlock(&src_as->lock);
     
    555555         * to support sharing in less privileged mode.
    556556         */
    557         dst_area = as_area_create(dst_as, src_flags & dst_flags_mask, src_size, dst_base,
     557        dst_area = as_area_create(dst_as, dst_flags_mask, src_size, dst_base,
    558558                                  AS_AREA_ATTR_PARTIAL, src_backend, &src_backend_data);
    559559        if (!dst_area) {
Note: See TracChangeset for help on using the changeset viewer.