Changes in uspace/lib/c/generic/loader.c [01900b6:21d3201] in mainline
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/lib/c/generic/loader.c
r01900b6 r21d3201 46 46 #include "private/loader.h" 47 47 48 /** Spawn a new program loader. 49 * 50 * Spawn a new program loader task. The loader then independetly 51 * connects to the naming service. 48 /** Connect to a new program loader. 49 * 50 * Spawns a new program loader task and returns the connection structure. 52 51 * 53 52 * @param name Symbolic name to set on the newly created task. 54 53 * 55 54 * @return Error code. 56 *57 55 */ 58 56 errno_t loader_spawn(const char *name) … … 62 60 } 63 61 64 /** Connect to a program loader. 65 * 66 * @param rc Placeholder for return code. Unused if NULL. 67 * 68 * @return Loader structure. 69 * 70 */ 71 loader_t *loader_connect(errno_t *rc) 62 loader_t *loader_connect(void) 72 63 { 73 64 loader_t *ldr = malloc(sizeof(loader_t)); … … 76 67 77 68 async_sess_t *sess = 78 service_connect_blocking(SERVICE_LOADER, INTERFACE_LOADER, 0 , rc);69 service_connect_blocking(SERVICE_LOADER, INTERFACE_LOADER, 0); 79 70 if (sess == NULL) { 80 71 free(ldr); … … 354 345 } 355 346 356 /** Instruct loader to execute the program and do not wait for reply.357 *358 * This function does not block even if the loaded task is stopped359 * for debugging.360 *361 * After using this function, no further operations can be performed362 * on the loader structure and it is deallocated.363 *364 * @param ldr Loader connection structure.365 *366 * @return Zero on success or an error code.367 *368 */369 void loader_run_nowait(loader_t *ldr)370 {371 async_exch_t *exch = async_exchange_begin(ldr->sess);372 async_msg_0(exch, LOADER_RUN);373 async_exchange_end(exch);374 375 async_hangup(ldr->sess);376 free(ldr);377 }378 379 347 /** Cancel the loader session. 380 348 *
Note:
See TracChangeset
for help on using the changeset viewer.