Changeset 93ad49a8 in mainline
- Timestamp:
- 2011-08-20T15:03:05Z (13 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- 422722e
- Parents:
- 0f4532e
- Location:
- uspace/lib/c
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/lib/c/generic/async.c
r0f4532e r93ad49a8 1658 1658 } 1659 1659 1660 /** S hift arguments for new connections left by one.1660 /** Set arguments for new connections. 1661 1661 * 1662 1662 * FIXME This is an ugly hack to work around the problem that parallel 1663 1663 * exchanges are implemented using parallel connections. When we create 1664 * such a session via a naming server, the naming server shifts the1665 * arguments for the initial connection, but not for the latterconnections.1664 * a callback session, the framework does not know arguments for the new 1665 * connections. 1666 1666 * 1667 1667 * The proper solution seems to be to implement parallel exchanges using 1668 1668 * tagging. 1669 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; 1670 void async_sess_args_set(async_sess_t *sess, sysarg_t arg1, sysarg_t arg2, 1671 sysarg_t arg3) 1672 { 1673 sess->arg1 = arg1; 1674 sess->arg2 = arg2; 1675 sess->arg3 = arg3; 1675 1676 } 1676 1677 -
uspace/lib/c/generic/ns.c
r0f4532e r93ad49a8 61 61 * first argument for non-initial connections. 62 62 */ 63 async_sess_args_s hift(sess);63 async_sess_args_set(sess, arg2, arg3, 0); 64 64 65 65 return sess; -
uspace/lib/c/include/async.h
r0f4532e r93ad49a8 333 333 extern void async_poke(void); 334 334 335 void async_sess_args_shift(async_sess_t *sess);336 337 335 extern async_exch_t *async_exchange_begin(async_sess_t *); 338 336 extern void async_exchange_end(async_exch_t *); 337 338 /* 339 * FIXME These functions just work around problems with parallel exchange 340 * management. Proper solution needs to be implemented. 341 */ 342 void async_sess_args_set(async_sess_t *sess, sysarg_t, sysarg_t, sysarg_t); 339 343 340 344 /*
Note:
See TracChangeset
for help on using the changeset viewer.