I don't revert without explanations on why I should revert. Sorry, but I don't 
find your explanations clear.

My explanation, tell my what's wrong:

The 2 "if" blocks are executed sequentially for each line containing "a start"and ignore other lines. I did not change the previous logic, just added a new if.

Gradle exec spawns a new process and waits till it ends (this point is 
important).

If the line contains "a start" the 1st "if" try to terminate it.

If it worked the 2nd "if" does not execute. This is better than before because it allows the "'start" process "a chance to clean up after itself" (cf unix.stackexchange.com below)

If the "start" process is not terminated then it's killed by the 2nd "if", like 
it was done before.

As I said it cleanly worked with 2 OFBiz instances running in the background.

Now tell me what's wrong?

Thanks

Jacques


Le 25/06/2017 à 11:22, Taher Alkhateeb a écrit :
As usual, you refuse to revert because you don't understand the code and I
pay the price of spending my time explaining. I hope you will reconsider
this time consuming and non-cooperative behavior.

The quick version:
- copy and paste antipattern
- incorrect conditional checking leading to both blocks getting executed or
both blocks not executing

Your belief that Gradle fails because java does not expect to be killed is
amazing! It means you do not understand what this code is doing and what is
causing the failure.


On Jun 25, 2017 10:42 AM, "Jacques Le Roux" <jacques.le.r...@les7arts.com>
wrote:

What makes you think it's wrong? I tested it locally using 2 background
instances and it cleaned worked.

I also tried with one standard instance (not in background). It works, and
you get this message

:ofbiz FAILED
FAILURE: Build failed with an exception.
* What went wrong:
Execution failed for task ':ofbiz'.
Process 'command '/usr/lib/jvm/java-8-oracle/bin/java'' finished with
non-zero exit value 137

Which I believe is OK because Java does not expect to be killed!

Jacques



Le 24/06/2017 à 20:04, Taher Alkhateeb a écrit :

This commit is wrong and bad on multiple levels. Please revert

On Sat, Jun 24, 2017 at 10:56 AM, <jler...@apache.org> wrote:

Author: jleroux
Date: Sat Jun 24 07:56:45 2017
New Revision: 1799736

URL: http://svn.apache.org/viewvc?rev=1799736&view=rev
Log:
No functional change

Improves terminateOfbiz byt using TERM before KILL
https://fr.wikipedia.org/wiki/Kill_(Unix)
https://unix.stackexchange.com/questions/8916/when-
should-i-not-kill-9-a-process

Modified:
      ofbiz/ofbiz-framework/trunk/build.gradle

Modified: ofbiz/ofbiz-framework/trunk/build.gradle
URL: http://svn.apache.org/viewvc/ofbiz/ofbiz-framework/trunk/
build.gradle?rev=1799736&r1=1799735&r2=1799736&view=diff
============================================================
==================
--- ofbiz/ofbiz-framework/trunk/build.gradle (original)
+++ ofbiz/ofbiz-framework/trunk/build.gradle Sat Jun 24 07:56:45 2017
@@ -332,8 +332,13 @@ task terminateOfbiz(group: ofbizServer,
                   standardOutput = processOutput
               }
               processOutput.toString().split(System.lineSeparator()).each
{ line ->
+                // Try to terminate cleanly
                   if (line ==~ /.*org\.apache\.ofbiz\.base\.s
tart\.Start.*/)
{
-                    exec { commandLine 'kill', '-9',
line.tokenize().first() }
+                    exec { commandLine 'kill', '-TERM',
line.tokenize().first() }
+                }
+                // Only kill if needed
+                if (line ==~ /.*org\.apache\.ofbiz\.base\.s
tart\.Start.*/)
{
+                    exec { commandLine 'kill', '-KILL',
line.tokenize().first() }
                   }
               }
           }





Reply via email to