Changeset 47b7006 in mainline for uspace/lib/c/include/async.h


Ignore:
Timestamp:
2011-01-29T23:02:39Z (14 years ago)
Author:
Martin Decky <martin@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
197ef43
Parents:
fd483ce
Message:

improve run-time termination

  • get rid of exit()
  • get rid of _exit(), use the common exit()
  • get rid of core(), use the common abort()
  • make main() more fail-safe (call abort() on unhealthy conditions), call async_sess_init() explicitly
  • add several libc-private headers for cleaner environment
  • use SYS_TASK_EXIT in exit() and abort()
File:
1 edited

Legend:

Unmodified
Added
Removed
  • uspace/lib/c/include/async.h

    rfd483ce r47b7006  
    5757extern atomic_t threads_in_ipc_wait;
    5858
     59#define async_manager() \
     60        fibril_switch(FIBRIL_TO_MANAGER)
     61
     62#define async_get_call(data) \
     63        async_get_call_timeout(data, 0)
     64
    5965extern ipc_callid_t async_get_call_timeout(ipc_call_t *, suseconds_t);
    60 
    61 static inline ipc_callid_t async_get_call(ipc_call_t *data)
    62 {
    63         return async_get_call_timeout(data, 0);
    64 }
    65 
    66 static inline void async_manager(void)
    67 {
    68         fibril_switch(FIBRIL_TO_MANAGER);
    69 }
    7066
    7167/*
     
    142138 */
    143139
    144 extern int async_forward_fast(ipc_callid_t, int, int, sysarg_t, sysarg_t, int);
    145 extern int async_forward_slow(ipc_callid_t, int, int, sysarg_t, sysarg_t,
    146     sysarg_t, sysarg_t, sysarg_t, int);
     140extern int async_forward_fast(ipc_callid_t, int, sysarg_t, sysarg_t, sysarg_t,
     141    unsigned int);
     142extern int async_forward_slow(ipc_callid_t, int, sysarg_t, sysarg_t, sysarg_t,
     143    sysarg_t, sysarg_t, sysarg_t, unsigned int);
    147144
    148145/*
     
    305302        async_share_in_start((phoneid), (dst), (size), (arg), (flags))
    306303
    307 extern int async_share_in_start(int, void *, size_t, sysarg_t, int *);
    308 extern int async_share_in_receive(ipc_callid_t *, size_t *);
    309 extern int async_share_in_finalize(ipc_callid_t, void *, int );
    310 extern int async_share_out_start(int, void *, int);
    311 extern int async_share_out_receive(ipc_callid_t *, size_t *, int *);
     304extern int async_share_in_start(int, void *, size_t, sysarg_t, unsigned int *);
     305extern bool async_share_in_receive(ipc_callid_t *, size_t *);
     306extern int async_share_in_finalize(ipc_callid_t, void *, unsigned int);
     307
     308extern int async_share_out_start(int, void *, unsigned int);
     309extern bool async_share_out_receive(ipc_callid_t *, size_t *, unsigned int *);
    312310extern int async_share_out_finalize(ipc_callid_t, void *);
    313311
     
    343341
    344342extern int async_data_read_start(int, void *, size_t);
    345 extern int async_data_read_receive(ipc_callid_t *, size_t *);
     343extern bool async_data_read_receive(ipc_callid_t *, size_t *);
    346344extern int async_data_read_finalize(ipc_callid_t, const void *, size_t);
    347345
     
    382380
    383381extern int async_data_write_start(int, const void *, size_t);
    384 extern int async_data_write_receive(ipc_callid_t *, size_t *);
     382extern bool async_data_write_receive(ipc_callid_t *, size_t *);
    385383extern int async_data_write_finalize(ipc_callid_t, void *, size_t);
    386384
    387385extern int async_data_write_accept(void **, const bool, const size_t,
    388386    const size_t, const size_t, size_t *);
    389 extern void async_data_write_void(const int);
     387extern void async_data_write_void(sysarg_t);
    390388
    391389extern int async_data_write_forward_fast(int, sysarg_t, sysarg_t, sysarg_t,
Note: See TracChangeset for help on using the changeset viewer.