Changeset f307f12 in mainline for uspace/srv/loader/main.c


Ignore:
Timestamp:
2009-10-11T16:26:01Z (16 years ago)
Author:
Jakub Jermar <jakub@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
c088fd4
Parents:
c123609 (diff), ba8f8cb (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 experimental support for timeoutable fibril condition variables.
The merge includes a fix for an IPC/async framework problem caused by the fact
that timeoutable entities in the async framework (and also fibril
synchronization code) often call gettimeofday() when async_futex is held, and
the fact that gettimeofday() had a dependency on async framework.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • uspace/srv/loader/main.c

    rc123609 rf307f12  
    102102        task_id = task_get_id();
    103103       
    104         if (!ipc_data_read_receive(&callid, &len)) {
     104        if (!async_data_read_receive(&callid, &len)) {
    105105                ipc_answer_0(callid, EINVAL);
    106106                ipc_answer_0(rid, EINVAL);
     
    111111                len = sizeof(task_id);
    112112       
    113         ipc_data_read_finalize(callid, &task_id, len);
     113        async_data_read_finalize(callid, &task_id, len);
    114114        ipc_answer_0(rid, EOK);
    115115}
     
    127127        char *name_buf;
    128128       
    129         if (!ipc_data_write_receive(&callid, &len)) {
     129        if (!async_data_write_receive(&callid, &len)) {
    130130                ipc_answer_0(callid, EINVAL);
    131131                ipc_answer_0(rid, EINVAL);
     
    140140        }
    141141       
    142         ipc_data_write_finalize(callid, name_buf, len);
     142        async_data_write_finalize(callid, name_buf, len);
    143143        ipc_answer_0(rid, EOK);
    144144       
     
    164164        int n;
    165165       
    166         if (!ipc_data_write_receive(&callid, &buf_size)) {
     166        if (!async_data_write_receive(&callid, &buf_size)) {
    167167                ipc_answer_0(callid, EINVAL);
    168168                ipc_answer_0(rid, EINVAL);
     
    187187        }
    188188       
    189         ipc_data_write_finalize(callid, arg_buf, buf_size);
     189        async_data_write_finalize(callid, arg_buf, buf_size);
    190190       
    191191        arg_buf[buf_size] = '\0';
     
    239239        ipc_callid_t callid;
    240240        size_t buf_size;
    241         if (!ipc_data_write_receive(&callid, &buf_size)) {
     241        if (!async_data_write_receive(&callid, &buf_size)) {
    242242                ipc_answer_0(callid, EINVAL);
    243243                ipc_answer_0(rid, EINVAL);
     
    268268        }
    269269       
    270         ipc_data_write_finalize(callid, fil_buf, buf_size);
     270        async_data_write_finalize(callid, fil_buf, buf_size);
    271271       
    272272        int count = buf_size / sizeof(fdi_node_t);
Note: See TracChangeset for help on using the changeset viewer.