Changeset 79ae36dd in mainline for uspace/lib/c/generic/net/modules.c


Ignore:
Timestamp:
2011-06-08T19:01:55Z (13 years ago)
Author:
Martin Decky <martin@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
0eff68e
Parents:
764d71e
Message:

new async framework with integrated exchange tracking

  • strict isolation between low-level IPC and high-level async framework with integrated exchange tracking
    • each IPC connection is represented by an async_sess_t structure
    • each IPC exchange is represented by an async_exch_t structure
    • exchange management is either based on atomic messages (EXCHANGE_ATOMIC), locking (EXCHANGE_SERIALIZE) or connection cloning (EXCHANGE_CLONE)
  • async_obsolete: temporary compatibility layer to keep old async clients working (several pieces of code are currently broken, but only non-essential functionality)
  • IPC_M_PHONE_HANGUP is now method no. 0 (for elegant boolean evaluation)
  • IPC_M_DEBUG_ALL has been renamed to IPC_M_DEBUG
  • IPC_M_PING has been removed (VFS protocol now has VFS_IN_PING)
  • console routines in libc have been rewritten for better abstraction
  • additional use for libc-private header files (FILE structure opaque to the client)
  • various cstyle changes (typos, indentation, missing externs in header files, improved comments, etc.)
File:
1 edited

Legend:

Unmodified
Added
Removed
  • uspace/lib/c/generic/net/modules.c

    r764d71e r79ae36dd  
    4040
    4141#include <async.h>
     42#include <async_obsolete.h>
    4243#include <malloc.h>
    4344#include <errno.h>
     
    4546#include <ipc/services.h>
    4647#include <net/modules.h>
     48#include <ns.h>
     49#include <ns_obsolete.h>
    4750
    4851/** The time between connect requests in microseconds. */
    49 #define MODULE_WAIT_TIME        (10 * 1000)
     52#define MODULE_WAIT_TIME  (10 * 1000)
    5053
    5154/** Answer a call.
     
    138141        if (phone >= 0) {
    139142                /* Request the bidirectional connection */
    140                 int rc = async_connect_to_me(phone, arg1, arg2, arg3, client_receiver);
     143                int rc = async_obsolete_connect_to_me(phone, arg1, arg2, arg3, client_receiver);
    141144                if (rc != EOK) {
    142                         async_hangup(phone);
     145                        async_obsolete_hangup(phone);
    143146                        return rc;
    144147                }
     
    172175        /* If no timeout is set */
    173176        if (timeout <= 0)
    174                 return async_connect_me_to_blocking(PHONE_NS, need, 0, 0);
    175 
     177                return service_obsolete_connect_blocking(need, 0, 0);
     178       
    176179        while (true) {
    177                 phone = async_connect_me_to(PHONE_NS, need, 0, 0);
     180                phone = service_obsolete_connect(need, 0, 0);
    178181                if ((phone >= 0) || (phone != ENOENT))
    179182                        return phone;
Note: See TracChangeset for help on using the changeset viewer.