MCPcopy Create free account
hub / github.com/RT-Thread/rt-thread / lwp_struct_copy

Function lwp_struct_copy

components/lwp/lwp_syscall.c:3486–3522  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

3484}
3485
3486static void lwp_struct_copy(struct rt_lwp *dst, struct rt_lwp *src)
3487{
3488#ifdef ARCH_MM_MMU
3489 dst->end_heap = src->end_heap;
3490#endif
3491 dst->lwp_type = src->lwp_type;
3492 dst->text_entry = src->text_entry;
3493 dst->text_size = src->text_size;
3494 dst->data_entry = src->data_entry;
3495 dst->data_size = src->data_size;
3496 dst->args = src->args;
3497 dst->background = src->background;
3498 dst->tty = src->tty;
3499
3500 /* terminal API */
3501 dst->term_ctrlterm = src->term_ctrlterm;
3502
3503 rt_memcpy(dst->cmd, src->cmd, RT_NAME_MAX);
3504 if (src->exe_file)
3505 {
3506 if (dst->exe_file)
3507 {
3508 rt_free(dst->exe_file);
3509 }
3510 dst->exe_file = strndup(src->exe_file, DFS_PATH_MAX);
3511 }
3512
3513 rt_memcpy(&dst->signal.sig_action, &src->signal.sig_action, sizeof(dst->signal.sig_action));
3514 rt_memcpy(&dst->signal.sig_action_mask, &src->signal.sig_action_mask, sizeof(dst->signal.sig_action_mask));
3515 rt_memcpy(&dst->signal.sig_action_nodefer, &src->signal.sig_action_nodefer, sizeof(dst->signal.sig_action_nodefer));
3516 rt_memcpy(&dst->signal.sig_action_onstack, &src->signal.sig_action_onstack, sizeof(dst->signal.sig_action_onstack));
3517 rt_memcpy(&dst->signal.sig_action_restart, &dst->signal.sig_action_restart, sizeof(dst->signal.sig_action_restart));
3518 rt_memcpy(&dst->signal.sig_action_siginfo, &dst->signal.sig_action_siginfo, sizeof(dst->signal.sig_action_siginfo));
3519 rt_memcpy(&dst->signal.sig_action_nocldstop, &dst->signal.sig_action_nocldstop, sizeof(dst->signal.sig_action_nocldstop));
3520 rt_memcpy(&dst->signal.sig_action_nocldwait, &dst->signal.sig_action_nocldwait, sizeof(dst->signal.sig_action_nocldwait));
3521 rt_strcpy(dst->working_directory, src->working_directory);
3522}
3523
3524static int lwp_copy_files(struct rt_lwp *dst, struct rt_lwp *src)
3525{

Callers 1

_sys_forkFunction · 0.85

Calls 4

rt_memcpyFunction · 0.85
rt_freeFunction · 0.85
strndupFunction · 0.85
rt_strcpyFunction · 0.85

Tested by

no test coverage detected