aboutsummaryrefslogblamecommitdiffstats
path: root/library/cpp/sighandler/async_signals_handler.h
blob: f6552f0f76f96f6722ffcf1b65ef29a8a7496c63 (plain) (tree)
1
2
3
4
5
6
7
8
            
                             
                     
 
                      
                              

                                       
                                                                       
                                                             
                                                                       
#pragma once

#include <util/generic/ptr.h>
#include <functional>

struct TEventHandler {
    virtual ~TEventHandler() {
    }
    virtual int Handle(int signum) = 0;
};

void SetAsyncSignalHandler(int signum, THolder<TEventHandler> handler);
void SetAsyncSignalHandler(int signum, void (*handler)(int));
void SetAsyncSignalFunction(int signum, std::function<void(int)> func);