Changeset 46b881c in mainline for uspace/srv/vfs/vfs_register.c


Ignore:
Timestamp:
2011-01-29T11:36:41Z (13 years ago)
Author:
Martin Decky <martin@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
0b6931a, 8add9ca5
Parents:
e26a4633 (diff), ffa2c8ef (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:

IPC/async: strictly isolate the use of low-level IPC methods (ipc_*) and async framework methods (async_*) in user code, do not allow a mixture of both in a single source file

Benefits for future plans

  • The async framework could use different communication style under the hood, but keeping the same high-level API
  • The async framework can be integrated more tightly with sessions without potential problems of intermixing session-aware async methods with session-unaware low-level methods in user code
  • The async_serialize_start()/_end() can be deprecated more easily
File:
1 edited

Legend:

Unmodified
Added
Removed
  • uspace/srv/vfs/vfs_register.c

    re26a4633 r46b881c  
    3636 */
    3737
    38 #include <ipc/ipc.h>
    3938#include <ipc/services.h>
    4039#include <async.h>
     
    122121                dprintf("Failed to deliver the VFS info into our AS, rc=%d.\n",
    123122                    rc);
    124                 ipc_answer_0(rid, rc);
     123                async_answer_0(rid, rc);
    125124                return;
    126125        }
     
    132131        if (!fs_info) {
    133132                dprintf("Could not allocate memory for FS info.\n");
    134                 ipc_answer_0(rid, ENOMEM);
     133                async_answer_0(rid, ENOMEM);
    135134                return;
    136135        }
     
    144143        if (!vfs_info_sane(&fs_info->vfs_info)) {
    145144                free(fs_info);
    146                 ipc_answer_0(rid, EINVAL);
     145                async_answer_0(rid, EINVAL);
    147146                return;
    148147        }
     
    160159                fibril_mutex_unlock(&fs_head_lock);
    161160                free(fs_info);
    162                 ipc_answer_0(rid, EEXISTS);
     161                async_answer_0(rid, EEXISTS);
    163162                return;
    164163        }
     
    182181                fibril_mutex_unlock(&fs_head_lock);
    183182                free(fs_info);
    184                 ipc_answer_0(callid, EINVAL);
    185                 ipc_answer_0(rid, EINVAL);
     183                async_answer_0(callid, EINVAL);
     184                async_answer_0(rid, EINVAL);
    186185                return;
    187186        }
     
    189188        phone = IPC_GET_ARG5(call);
    190189        async_session_create(&fs_info->session, phone, 0);
    191         ipc_answer_0(callid, EOK);
     190        async_answer_0(callid, EOK);
    192191       
    193192        dprintf("Callback connection to FS created.\n");
     
    203202                fibril_mutex_unlock(&fs_head_lock);
    204203                async_session_destroy(&fs_info->session);
    205                 ipc_hangup(phone);
    206                 free(fs_info);
    207                 ipc_answer_0(callid, EINVAL);
    208                 ipc_answer_0(rid, EINVAL);
     204                async_hangup(phone);
     205                free(fs_info);
     206                async_answer_0(callid, EINVAL);
     207                async_answer_0(rid, EINVAL);
    209208                return;
    210209        }
     
    218217                fibril_mutex_unlock(&fs_head_lock);
    219218                async_session_destroy(&fs_info->session);
    220                 ipc_hangup(phone);
    221                 free(fs_info);
    222                 ipc_answer_0(callid, EINVAL);
    223                 ipc_answer_0(rid, EINVAL);
     219                async_hangup(phone);
     220                free(fs_info);
     221                async_answer_0(callid, EINVAL);
     222                async_answer_0(rid, EINVAL);
    224223                return;
    225224        }
     
    239238         */
    240239        fs_info->fs_handle = (fs_handle_t) atomic_postinc(&fs_handle_next);
    241         ipc_answer_1(rid, EOK, (sysarg_t) fs_info->fs_handle);
     240        async_answer_1(rid, EOK, (sysarg_t) fs_info->fs_handle);
    242241       
    243242        fibril_condvar_broadcast(&fs_head_cv);
Note: See TracChangeset for help on using the changeset viewer.