0
0
Fork 0
mirror of https://github.com/matrix-construct/construct synced 2024-06-26 05:48:20 +02:00

ircd::ios: Add front for asio notify_fork().

This commit is contained in:
Jason Volk 2019-05-06 13:48:49 -07:00
parent 7ef4b9f836
commit afa475eb18
2 changed files with 24 additions and 2 deletions

View file

@ -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);
}

View file

@ -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