Changeset 0f4532e in mainline
- Timestamp:
- 2011-08-20T14:55:02Z (13 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- 93ad49a8
- Parents:
- a0fc4be
- Location:
- uspace/lib/c
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/lib/c/generic/async.c
ra0fc4be r0f4532e 1656 1656 1657 1657 return sess; 1658 } 1659 1660 /** Shift arguments for new connections left by one. 1661 * 1662 * FIXME This is an ugly hack to work around the problem that parallel 1663 * exchanges are implemented using parallel connections. When we create 1664 * such a session via a naming server, the naming server shifts the 1665 * arguments for the initial connection, but not for the latter connections. 1666 * 1667 * The proper solution seems to be to implement parallel exchanges using 1668 * tagging. 1669 */ 1670 void async_sess_args_shift(async_sess_t *sess) 1671 { 1672 sess->arg1 = sess->arg2; 1673 sess->arg2 = sess->arg3; 1674 sess->arg3 = 0; 1658 1675 } 1659 1676 -
uspace/lib/c/generic/ns.c
ra0fc4be r0f4532e 56 56 async_exchange_end(exch); 57 57 58 /* 59 * FIXME Ugly hack to work around limitation of implementing 60 * parallel exchanges using multiple connections. Shift out 61 * first argument for non-initial connections. 62 */ 63 async_sess_args_shift(sess); 64 58 65 return sess; 59 66 } -
uspace/lib/c/include/async.h
ra0fc4be r0f4532e 333 333 extern void async_poke(void); 334 334 335 void async_sess_args_shift(async_sess_t *sess); 336 335 337 extern async_exch_t *async_exchange_begin(async_sess_t *); 336 338 extern void async_exchange_end(async_exch_t *);
Note:
See TracChangeset
for help on using the changeset viewer.