mirror of
https://github.com/llvm/llvm-project.git
synced 2025-05-12 12:37:19 +00:00

We have started to see the no_binary version of this test fail. The reason is that the binary was being removed before the spawn actually launched the inferior. Add a simple filesystem based synchronization to avoid this race. llvm-svn: 369930
33 lines
531 B
C++
33 lines
531 B
C++
#include <stdio.h>
|
|
#include <fcntl.h>
|
|
|
|
#include <chrono>
|
|
#include <fstream>
|
|
#include <thread>
|
|
|
|
extern void dont_strip_me()
|
|
{
|
|
printf("I wasn't stripped\n");
|
|
}
|
|
|
|
static void *a_function()
|
|
{
|
|
while (1)
|
|
{
|
|
std::this_thread::sleep_for(std::chrono::microseconds(100));
|
|
dont_strip_me();
|
|
}
|
|
return 0;
|
|
}
|
|
|
|
int main(int argc, char const *argv[])
|
|
{
|
|
{
|
|
// Create file to signal that this process has started up.
|
|
std::ofstream f;
|
|
f.open(argv[1]);
|
|
}
|
|
a_function();
|
|
return 0;
|
|
}
|