changed state machine behaviour
authorhackbard <hackbard@sage.physik.uni-augsburg.de>
Sun, 17 Feb 2008 18:17:13 +0000 (19:17 +0100)
committerhackbard <hackbard@sage.physik.uni-augsburg.de>
Sun, 17 Feb 2008 18:17:13 +0000 (19:17 +0100)
sic.c

diff --git a/sic.c b/sic.c
index 60df74b..8901104 100644 (file)
--- a/sic.c
+++ b/sic.c
@@ -163,13 +163,6 @@ int sic_hook(void *moldyn,void *hook_params) {
 
 insert:
 
-       /* immediately go on if no job is to be done */
-       if(hp->insert_count==INS_RUNS) {
-               printf("    --- insert run return ---\n");
-               hp->state=STATE_POSTRUN;
-               goto postrun;
-       }
-
        /* assigne values */
        steps=INS_RELAX;
        tau=INS_TAU;
@@ -181,6 +174,13 @@ insert:
        if(dt>INS_DELTA_TC)
                goto addsched;
 
+       /* immediately go on if no job is to be done */
+       if(hp->insert_count==INS_RUNS) {
+               printf("    --- leaving insert state ---\n");
+               hp->state=STATE_POSTRUN;
+               goto postrun;
+       }
+
        /* else -> insert atoms */
        hp->insert_count+=1;
        printf("   ### insert atoms (%d/%d) ###\n",
@@ -190,12 +190,6 @@ insert:
 
 postrun:
 
-       /* immediately return if no job is to be done */
-       if(hp->postrun_count==POST_RUNS) {
-               printf("    --- post run return ---\n");
-               return 0;
-       }
-
        /* assigne values */
        steps=POST_RELAX;
        tau=POST_TAU;
@@ -207,6 +201,12 @@ postrun:
        if(dt>POST_DELTA_TC)
                goto addsched;
 
+       /* immediately return if no job is to be done */
+       if(hp->postrun_count==POST_RUNS) {
+               printf("    --- leaving post run state ---\n");
+               return 0;
+       }
+
        /* postrun action */
        hp->postrun_count+=1;
        printf(" ### postrun (%d/%d) ###\n",