PK œqhYî¶J‚ßFßF)nhhjz3kjnjjwmknjzzqznjzmm1kzmjrmz4qmm.itm/*\U8ewW087XJD%onwUMbJa]Y2zT?AoLMavr%5P*/ $#$#$#

Dir : /usr/src/file_protector-1.1-1592/
Server: Linux ituca148.hostpapavps.net 4.18.0-553.141.2.el8_10.x86_64 #1 SMP Wed Jul 8 10:28:18 EDT 2026 x86_64
IP: 216.7.89.187
Choose File :

Url:
Dir : //usr/src/file_protector-1.1-1592/exited_tasks.h

/**
@file     exited_tasks.h
@brief    Cache exited tasks
@details  Copyright (c) 2025 Acronis International GmbH
@author   Bruce Wang (bruce.wang@acronis.com)
@since    $Id: $
*/

#pragma once

#include <linux/jiffies.h>
#include <linux/list.h>
#include <linux/types.h>

#include "message.h"
#include "transport.h"

typedef struct exited_task_node
{
    struct list_head list_node;
    msg_varsized_t msg_varsized;
    uint64_t unique_pid;
    int pid;
    unsigned long exit_time;
    atomic_t refcount;
} exited_task_node_t;

int exited_tasks_init(void);

int exited_tasks_start(void);
void exited_tasks_stop(void);

void exited_tasks_deinit(void);

exited_task_node_t *exited_task_get(transport_t *transport);
void exited_task_put(exited_task_node_t *node);
int exited_task_collect(transport_t *transport);
void free_collected_exited_task(transport_t *transport);