#include <unistd.h>
#include <iostream>
#include <string>
#include <sys/types.h>
#include <sys/wait.h>
struct MyClass {
static void foo();
};
void MyClass::foo () {
static std::string uuid;
std::cout << "Foo: b4: " << uuid << "\n";
uuid = "A new value";
std::cout << "Foo: after: " << uuid << "\n";
}
int main () {
int rc = fork();
if(rc < 0) {
perror("fork");
return 1;
}
if(rc) {
std::cout << "Parent, waiting for child pid == " << rc << "\n";
wait(0);
std::cout << "Parent, done waiting\n";
} else {
std::cout << "Child\n";
}
MyClass::foo();
}
I2luY2x1ZGUgPHVuaXN0ZC5oPgojaW5jbHVkZSA8aW9zdHJlYW0+CiNpbmNsdWRlIDxzdHJpbmc+CiNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KI2luY2x1ZGUgPHN5cy93YWl0Lmg+CgpzdHJ1Y3QgTXlDbGFzcyB7CiAgc3RhdGljIHZvaWQgZm9vKCk7Cn07Cgp2b2lkIE15Q2xhc3M6OmZvbyAoKSB7CiAgICBzdGF0aWMgc3RkOjpzdHJpbmcgdXVpZDsKICAgIHN0ZDo6Y291dCA8PCAiRm9vOiBiNDogIiA8PCB1dWlkIDw8ICJcbiI7CiAgICB1dWlkID0gIkEgbmV3IHZhbHVlIjsKICAgIHN0ZDo6Y291dCA8PCAiRm9vOiBhZnRlcjogIiA8PCB1dWlkIDw8ICJcbiI7Cn0KCmludCBtYWluICgpIHsKICBpbnQgcmMgPSBmb3JrKCk7CiAgaWYocmMgPCAwKSB7CiAgICBwZXJyb3IoImZvcmsiKTsKICAgIHJldHVybiAxOwogIH0KICBpZihyYykgewogICAgc3RkOjpjb3V0IDw8ICJQYXJlbnQsIHdhaXRpbmcgZm9yIGNoaWxkIHBpZCA9PSAiIDw8IHJjIDw8ICJcbiI7CiAgICB3YWl0KDApOwogICAgc3RkOjpjb3V0IDw8ICJQYXJlbnQsIGRvbmUgd2FpdGluZ1xuIjsKICB9IGVsc2UgewogICAgc3RkOjpjb3V0IDw8ICJDaGlsZFxuIjsKICB9CiAgTXlDbGFzczo6Zm9vKCk7Cn0K