Subversion Repositories HelenOS-historic

Rev

Rev 1396 | Rev 1417 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 1396 Rev 1413
Line 127... Line 127...
127
            ipc_phone_connect((phone_t *)IPC_GET_ARG3(*olddata),
127
            ipc_phone_connect((phone_t *)IPC_GET_ARG3(*olddata),
128
                      &TASK->answerbox);
128
                      &TASK->answerbox);
129
        }
129
        }
130
    } else if (IPC_GET_METHOD(*olddata) == IPC_M_AS_AREA_SEND) {
130
    } else if (IPC_GET_METHOD(*olddata) == IPC_M_AS_AREA_SEND) {
131
        if (!IPC_GET_RETVAL(answer->data)) { /* Accepted, handle as_area receipt */
131
        if (!IPC_GET_RETVAL(answer->data)) { /* Accepted, handle as_area receipt */
-
 
132
            ipl_t ipl;
-
 
133
            as_t *as;
-
 
134
           
-
 
135
            ipl = interrupts_disable();
132
            return as_area_steal(answer->sender,
136
            spinlock_lock(&answer->sender->lock);
-
 
137
            as = answer->sender->as;
-
 
138
            spinlock_unlock(&answer->sender->lock);
-
 
139
            interrupts_restore(ipl);
-
 
140
           
133
                         IPC_GET_ARG2(*olddata),IPC_GET_ARG3(*olddata),
141
            return as_area_share(as, IPC_GET_ARG2(*olddata),IPC_GET_ARG3(*olddata),
134
                         IPC_GET_ARG1(answer->data));
142
                IPC_GET_ARG1(answer->data));
135
        }
143
        }
136
    }
144
    }
137
    return 0;
145
    return 0;
138
}
146
}
139
 
147