/
usr
/
src
/
file_protector-1.1-1507
/
transport
/
File Upload :
llllll
Current File: //usr/src/file_protector-1.1-1507/transport/fork_event.c
/** @file @brief 'fork' event @details Copyright (c) 2017-2018 Acronis International GmbH @author Mikhail Krivtsov (mikhail.krivtsov@acronis.com) @since $Id: $ */ #include "fork_event.h" #include "debug.h" #include "message.h" #include "task_info_map.h" void fork_event_nowait(pid_t parent_tgid, pid_t parent_pid, pid_t child_tgid, pid_t child_pid) { msg_t *msg; size_t fork_img_size; size_t msg_img_size; if (TS_IGNORE == task_info_status_get(parent_tgid) || (parent_pid != parent_tgid && TS_IGNORE == task_info_status_get(parent_pid))) { DPRINTF("process is in 'ignore list'"); goto out; } fork_img_size = sizeof(fork_img_t); msg_img_size = sizeof(msg_img_t) + fork_img_size; msg = msg_new_type_nowait(msg_img_size, MT_FORK); if (msg) { msg_img_t *msg_img = MSG_IMG(msg); fork_img_t *fork_img = IMG_PAYLOAD(msg_img); /* * userspace kernel * getpid() current->tgid * gettid() current->pid */ fork_img->parent.pid = parent_tgid; fork_img->parent.tid = parent_pid; fork_img->child.pid = child_tgid; fork_img->child.tid = child_pid; send_msg_async(msg); msg_unref(msg); } out: ; }
Copyright ©2k19 -
Hexid
|
Tex7ure