1 #include <sys/types.h>
2 #include <thread>
3 #include <unistd.h>
4 
5 template <typename T>
launcher(T func)6 void launcher(T func) {
7   auto t1 = std::thread(func);
8   auto t2 = std::thread(func);
9 
10   t1.join();
11   t2.join();
12 }
13 
g()14 void g() {}
15 
f()16 void f() {
17   fork();
18   launcher<>(g);
19 }
20 
main()21 int main() {
22   launcher<>(f);
23 
24   return 0;
25 }
26