Changeset b7068da in mainline for uspace/lib/c/generic/async.c
- Timestamp:
- 2012-02-09T20:35:12Z (12 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- 591762c6
- Parents:
- 7cede12c (diff), 3d4750f (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. - File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/lib/c/generic/async.c
r7cede12c rb7068da 257 257 void async_set_client_data_constructor(async_client_data_ctor_t ctor) 258 258 { 259 assert(async_client_data_create == default_client_data_constructor); 259 260 async_client_data_create = ctor; 260 261 } … … 262 263 void async_set_client_data_destructor(async_client_data_dtor_t dtor) 263 264 { 265 assert(async_client_data_destroy == default_client_data_destructor); 264 266 async_client_data_destroy = dtor; 265 267 } … … 303 305 void async_set_client_connection(async_client_conn_t conn) 304 306 { 307 assert(client_connection == default_client_connection); 305 308 client_connection = conn; 306 309 } … … 1846 1849 1847 1850 fibril_mutex_lock(&async_sess_mutex); 1848 1851 1849 1852 int rc = async_hangup_internal(sess->phone); 1850 1853 … … 1998 2001 * 1999 2002 * @param exch Exchange for sending the message. 2000 * @param dst Destination address space area base.2001 2003 * @param size Size of the destination address space area. 2002 2004 * @param arg User defined argument. 2003 2005 * @param flags Storage for the received flags. Can be NULL. 2006 * @param dst Destination address space area base. Cannot be NULL. 2004 2007 * 2005 2008 * @return Zero on success or a negative error code from errno.h. 2006 2009 * 2007 2010 */ 2008 int async_share_in_start(async_exch_t *exch, void *dst, size_t size,2009 sysarg_t arg, unsigned int *flags)2011 int async_share_in_start(async_exch_t *exch, size_t size, sysarg_t arg, 2012 unsigned int *flags, void **dst) 2010 2013 { 2011 2014 if (exch == NULL) 2012 2015 return ENOENT; 2013 2016 2014 sysarg_t tmp_flags; 2015 int res = async_req_3_2(exch, IPC_M_SHARE_IN, (sysarg_t) dst, 2016 (sysarg_t) size, arg, NULL, &tmp_flags); 2017 sysarg_t _flags = 0; 2018 sysarg_t _dst = (sysarg_t) -1; 2019 int res = async_req_2_4(exch, IPC_M_SHARE_IN, (sysarg_t) size, 2020 arg, NULL, &_flags, NULL, &_dst); 2017 2021 2018 2022 if (flags) 2019 *flags = (unsigned int) tmp_flags; 2020 2023 *flags = (unsigned int) _flags; 2024 2025 *dst = (void *) _dst; 2021 2026 return res; 2022 2027 } … … 2047 2052 return false; 2048 2053 2049 *size = (size_t) IPC_GET_ARG 2(data);2054 *size = (size_t) IPC_GET_ARG1(data); 2050 2055 return true; 2051 2056 } … … 2053 2058 /** Wrapper for answering the IPC_M_SHARE_IN calls using the async framework. 2054 2059 * 2055 * This wrapper only makes it more comfortable to answer IPC_M_ DATA_READ2060 * This wrapper only makes it more comfortable to answer IPC_M_SHARE_IN 2056 2061 * calls so that the user doesn't have to remember the meaning of each IPC 2057 2062 * argument. … … 2131 2136 * 2132 2137 */ 2133 int async_share_out_finalize(ipc_callid_t callid, void * dst)2138 int async_share_out_finalize(ipc_callid_t callid, void **dst) 2134 2139 { 2135 2140 return ipc_share_out_finalize(callid, dst);
Note:
See TracChangeset
for help on using the changeset viewer.