<feed xmlns='http://www.w3.org/2005/Atom'>
<title>delta/qbs.git/src/lib/corelib/buildgraph/rulesevaluationcontext.cpp, branch 1.4</title>
<subtitle>code.qt.io: qbs/qbs.git
</subtitle>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/qbs.git/'/>
<entry>
<title>Fix unwanted "concurrency" in Executor.</title>
<updated>2016-02-18T11:23:14+00:00</updated>
<author>
<name>Christian Kandeler</name>
<email>christian.kandeler@theqtcompany.com</email>
</author>
<published>2016-02-15T12:37:36+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/qbs.git/commit/?id=a7b5a89919dc972dd38187fce78757cea1de0182'/>
<id>a7b5a89919dc972dd38187fce78757cea1de0182</id>
<content type='text'>
Script engine evaluation is interrupted once a second to check for
cancel requests. At this time, jobs can finish, leading to the
onJobFinished() slot being called while we are in the middle of
executeRuleNode(). Possible effects:
    - The job that just finished was the only currently running one,
      and its transformer outputs have no parents. Then the Executor
      will think it's done, and higher-level code will free the
      evaluation context (and with it the engine). When script execution
      continues after the current round of events processing, a null
      pointer or freed memory will be accessed.
    - The job's transformer outputs do have parent artifacts. In this
      case, we are suddenly and most unexpectedly in executeRuleNode()
      twice, with the potential for all kinds of stunning behavior.
Fix the problem by checking in the onJobFinished() slot whether the
rules evaluation context is currently active and delaying slot execution
if it is.

Task-number: QBS-932
Change-Id: I03ca4f4ad844357e49d5acaddff066395a7f95cf
Reviewed-by: Joerg Bornemann &lt;joerg.bornemann@theqtcompany.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Script engine evaluation is interrupted once a second to check for
cancel requests. At this time, jobs can finish, leading to the
onJobFinished() slot being called while we are in the middle of
executeRuleNode(). Possible effects:
    - The job that just finished was the only currently running one,
      and its transformer outputs have no parents. Then the Executor
      will think it's done, and higher-level code will free the
      evaluation context (and with it the engine). When script execution
      continues after the current round of events processing, a null
      pointer or freed memory will be accessed.
    - The job's transformer outputs do have parent artifacts. In this
      case, we are suddenly and most unexpectedly in executeRuleNode()
      twice, with the potential for all kinds of stunning behavior.
Fix the problem by checking in the onJobFinished() slot whether the
rules evaluation context is currently active and delaying slot execution
if it is.

Task-number: QBS-932
Change-Id: I03ca4f4ad844357e49d5acaddff066395a7f95cf
Reviewed-by: Joerg Bornemann &lt;joerg.bornemann@theqtcompany.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>update license headers</title>
<updated>2015-03-02T17:48:55+00:00</updated>
<author>
<name>Joerg Bornemann</name>
<email>joerg.bornemann@theqtcompany.com</email>
</author>
<published>2015-03-02T15:05:17+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/qbs.git/commit/?id=b9bfe43a069c42b7845c411c6b13004fb1fe6d34'/>
<id>b9bfe43a069c42b7845c411c6b13004fb1fe6d34</id>
<content type='text'>
Change-Id: I36d825db3a5ef32c162c3063aab1e8a1f2696f4f
Reviewed-by: Christian Kandeler &lt;christian.kandeler@theqtcompany.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Change-Id: I36d825db3a5ef32c162c3063aab1e8a1f2696f4f
Reviewed-by: Christian Kandeler &lt;christian.kandeler@theqtcompany.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Update License</title>
<updated>2015-01-26T11:31:29+00:00</updated>
<author>
<name>Eike Ziller</name>
<email>eike.ziller@theqtcompany.com</email>
</author>
<published>2015-01-15T09:34:57+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/qbs.git/commit/?id=8dc50118a0ece90a997aaa93cd834dbd75f90639'/>
<id>8dc50118a0ece90a997aaa93cd834dbd75f90639</id>
<content type='text'>
Change-Id: I092fca9f950de1ba38826c33b155f86feae2770b
Reviewed-by: Christian Kandeler &lt;christian.kandeler@theqtcompany.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Change-Id: I092fca9f950de1ba38826c33b155f86feae2770b
Reviewed-by: Christian Kandeler &lt;christian.kandeler@theqtcompany.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>License update.</title>
<updated>2014-10-16T10:05:13+00:00</updated>
<author>
<name>Eike Ziller</name>
<email>eike.ziller@theqtcompany.com</email>
</author>
<published>2014-10-15T13:09:09+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/qbs.git/commit/?id=d3e83e2345bc84658de6764f43a088cc8a117898'/>
<id>d3e83e2345bc84658de6764f43a088cc8a117898</id>
<content type='text'>
Add LGPLv3 option.

Change-Id: I8a63ad5e46a2701032b2103f791df4dec5b707e8
Reviewed-by: Joerg Bornemann &lt;joerg.bornemann@digia.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Add LGPLv3 option.

Change-Id: I8a63ad5e46a2701032b2103f791df4dec5b707e8
Reviewed-by: Joerg Bornemann &lt;joerg.bornemann@digia.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Move Qt profile setup into a dedicated library.</title>
<updated>2014-01-10T17:11:22+00:00</updated>
<author>
<name>Christian Kandeler</name>
<email>christian.kandeler@digia.com</email>
</author>
<published>2014-01-09T16:50:40+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/qbs.git/commit/?id=81af9acaa295a574c1cb5e6714725197dac7f530'/>
<id>81af9acaa295a574c1cb5e6714725197dac7f530</id>
<content type='text'>
Otherwise all changes to the implementation will have to be duplicated
in IDEs.

Change-Id: I61e6d4fa1ee9b724eb5d9de9f233dc915a6c8bc3
Reviewed-by: Joerg Bornemann &lt;joerg.bornemann@digia.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Otherwise all changes to the implementation will have to be duplicated
in IDEs.

Change-Id: I61e6d4fa1ee9b724eb5d9de9f233dc915a6c8bc3
Reviewed-by: Joerg Bornemann &lt;joerg.bornemann@digia.com&gt;
</pre>
</div>
</content>
</entry>
</feed>
