<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="/rss.xsl.xml"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/">
<channel>
    <title>Changes in Makefile</title>
    <description></description>
    <language>en</language>
    <copyright>Copyright 2015</copyright>
    <generator>Java</generator><item>
        <title>82ba3f44 - Recommit &quot;[lldb/test] Don&apos;t use preexec_fn for launching inferiors&quot;</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/lldb/test/API/tools/lldb-server/attach-wait/Makefile#82ba3f44</link>
        <description>Recommit &quot;[lldb/test] Don&apos;t use preexec_fn for launching inferiors&quot;This recommits b15b1421, which reverted in was reverted in f51c47d98 due tofailures on apple systems. The problem was that the patch introduced a racewhere the debug server could start the attach process before the first process(which isn&apos;t supposed to be attached to) was set up. This caused us to attachto the wrong process.The new version introduces additional synchronization to ensure that does nothappen.Original commit message was:As the documentation states, using this is not safe in multithreadedprograms, and I have traced it to a rare deadlock in some of the tests.The reason this was introduced was to be able to attach to a programfrom the very first instruction, where our usual mechanism ofsynchronization -- waiting for a file to appear -- does not work.However, this is only needed for a single test(TestGdbRemoteAttachWait) so instead of doing this everywhere, I createa bespoke solution for that single test. The solution basicallyconsists of outsourcing the preexec_fn code to a separate (andsingle-threaded) shim process, which enables attaching and then executesthe real program.This pattern could be generalized in case we needed to use it for othertests, but I suspect that we will not be having many tests like this.This effectively reverts commita997a1d7fbe229433fb458bb0035b32424ecf3bd.

            List of files:
            /llvm-project-15.0.7/lldb/test/API/tools/lldb-server/attach-wait/Makefile</description>
        <pubDate>Fri, 01 Jul 2022 12:32:50 +0000</pubDate>
        <dc:creator>Pavel Labath &lt;pavel@labath.sk&gt;</dc:creator>
    </item>
<item>
        <title>b15b1421 - [lldb/test] Don&apos;t use preexec_fn for launching inferiors</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/lldb/test/API/tools/lldb-server/attach-wait/Makefile#b15b1421</link>
        <description>[lldb/test] Don&apos;t use preexec_fn for launching inferiorsAs the documentation states, using this is not safe in multithreadedprograms, and I have traced it to a rare deadlock in some of the tests.The reason this was introduced was to be able to attach to a programfrom the very first instruction, where our usual mechanism ofsynchronization -- waiting for a file to appear -- does not work.However, this is only needed for a single test(TestGdbRemoteAttachWait) so instead of doing this everywhere, I createa bespoke solution for that single test. The solution basicallyconsists of outsourcing the preexec_fn code to a separate (andsingle-threaded) shim process, which enables attaching and then executesthe real program.This pattern could be generalized in case we needed to use it for othertests, but I suspect that we will not be having many tests like this.This effectively reverts commita997a1d7fbe229433fb458bb0035b32424ecf3bd.

            List of files:
            /llvm-project-15.0.7/lldb/test/API/tools/lldb-server/attach-wait/Makefile</description>
        <pubDate>Fri, 01 Jul 2022 12:32:50 +0000</pubDate>
        <dc:creator>Pavel Labath &lt;pavel@labath.sk&gt;</dc:creator>
    </item>
</channel>
</rss>
