mirror of
https://github.com/matrix-construct/construct
synced 2024-09-28 19:58:53 +02:00
ircd::ios: Add front for asio notify_fork().
This commit is contained in:
parent
7ef4b9f836
commit
afa475eb18
2 changed files with 24 additions and 2 deletions
|
@ -47,6 +47,9 @@ namespace ircd::ios
|
|||
extern std::thread::id main_thread_id;
|
||||
extern asio::io_context *user;
|
||||
|
||||
const string_view &name(const descriptor &);
|
||||
const string_view &name(const handler &);
|
||||
|
||||
bool is_main_thread();
|
||||
bool is_static_thread();
|
||||
void assert_main_thread();
|
||||
|
@ -54,8 +57,9 @@ namespace ircd::ios
|
|||
bool available();
|
||||
asio::io_context &get();
|
||||
|
||||
const string_view &name(const descriptor &);
|
||||
const string_view &name(const handler &);
|
||||
void forked_parent();
|
||||
void forked_child();
|
||||
void forking();
|
||||
|
||||
void init(asio::io_context &user);
|
||||
}
|
||||
|
|
18
ircd/ios.cc
18
ircd/ios.cc
|
@ -59,6 +59,24 @@ ircd::ios::init(asio::io_context &user)
|
|||
ios::user = &user;
|
||||
}
|
||||
|
||||
void
|
||||
ircd::ios::forking()
|
||||
{
|
||||
get().notify_fork(asio::execution_context::fork_prepare);
|
||||
}
|
||||
|
||||
void
|
||||
ircd::ios::forked_child()
|
||||
{
|
||||
get().notify_fork(asio::execution_context::fork_child);
|
||||
}
|
||||
|
||||
void
|
||||
ircd::ios::forked_parent()
|
||||
{
|
||||
get().notify_fork(asio::execution_context::fork_parent);
|
||||
}
|
||||
|
||||
ircd::ios::post::post(std::function<void ()> function)
|
||||
{
|
||||
static descriptor descriptor
|
||||
|
|
Loading…
Reference in a new issue