aboutsummaryrefslogtreecommitdiffstats
path: root/library/cpp/sighandler/async_signals_handler.h
blob: 9de1fe1fc98fa6f7e2099155e7d66ca747abcca5 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#pragma once 
 
#include <util/generic/ptr.h>
#include <functional>

struct TEventHandler { 
    virtual ~TEventHandler() {
    }
    virtual int Handle(int signum) = 0; 
}; 
 
void SetAsyncSignalHandler(int signum, TAutoPtr<TEventHandler> handler);
void SetAsyncSignalHandler(int signum, void (*handler)(int));
void SetAsyncSignalFunction(int signum, std::function<void(int)> func);