Make sched_football arguments parsing conform with what is generally done in
the other tests.

  Also address the withespace issue in the usage() function as noticed by
Darren Hart.

Signed-off-by: Sebastien Dugue <[EMAIL PROTECTED]>
Cc: Darren Hart <[EMAIL PROTECTED]>
Cc: Tim Chavez <[EMAIL PROTECTED]>
---
 .../realtime/func/sched_football/sched_football.c  |   40 ++++++++++----------
 1 files changed, 20 insertions(+), 20 deletions(-)

diff --git a/testcases/realtime/func/sched_football/sched_football.c 
b/testcases/realtime/func/sched_football/sched_football.c
index 49dc16a..592d9a9 100644
--- a/testcases/realtime/func/sched_football/sched_football.c
+++ b/testcases/realtime/func/sched_football/sched_football.c
@@ -79,12 +79,17 @@ volatile int defense_count;
 pthread_mutex_t mutex = PTHREAD_MUTEX_INITIALIZER;
 
 static int run_jvmsim=0;
+static int players_per_team = 0;
+static int game_length = DEF_GAME_LENGTH;
 
 void usage(void)
 {
-        rt_help();
-        printf("testpi-1 specific options:\n");
-        printf("  -j            enable jvmsim\n");
+       rt_help();
+       printf("sched_football specific options:\n");
+       printf("  -j            enable jvmsim\n");
+       printf("  -nPLAYERS     players per team (defaults to num_cpus)\n");
+       printf("  -lGAME_LENGTH game length in seconds (defaults to %d s)\n",
+              DEF_GAME_LENGTH);
 }
 
 int parse_args(int c, char *v)
@@ -98,6 +103,12 @@ int parse_args(int c, char *v)
                 case 'h':
                         usage();
                         exit(0);
+               case 'n':
+                       players_per_team = atoi(v);
+                       break;
+               case 'l':
+                       game_length= atoi(v);
+                       break;
                 default:
                         handled = 0;
                         break;
@@ -160,12 +171,14 @@ int referee(int game_length)
 int main(int argc, char* argv[])
 {
        struct sched_param param;
-       int players_per_team, game_length;
        int priority;
        int i;
        setup();
 
-       rt_init("jh",parse_args,argc,argv);
+       rt_init("n:l:jh",parse_args,argc,argv);
+
+       if (players_per_team == 0)
+               players_per_team = sysconf(_SC_NPROCESSORS_ONLN);
 
        if (run_jvmsim) {
                 printf("jvmsim enabled\n");
@@ -174,21 +187,8 @@ int main(int argc, char* argv[])
                 printf("jvmsim disabled\n");
        }
 
-       if (argc < 2 || argc > 3) {
-               printf("Usage: %s players_per_team [game_length (seconds)]\n", 
argv[0]);
-               players_per_team = sysconf(_SC_NPROCESSORS_ONLN);
-               game_length = DEF_GAME_LENGTH;
-               printf("Using default values: players_per_team=%d 
game_length=%d\n",
-                      players_per_team, game_length);
-       }
-
-       else {
-               players_per_team = atoi(argv[1]);
-               if (argc == 3)
-                       game_length = atoi(argv[2]);
-               else
-                       game_length = DEF_GAME_LENGTH;
-       }
+       printf("Running with: players_per_team=%d game_length=%d\n",
+              players_per_team, game_length);
 
        /* We're the ref, so set our priority right */
        param.sched_priority = sched_get_priority_min(SCHED_FIFO) + 80;
-- 
1.5.4.rc2.84.gf85fd-dirty


-------------------------------------------------------------------------
Check out the new SourceForge.net Marketplace.
It's the best place to buy or sell services for
just about anything Open Source.
http://ad.doubleclick.net/clk;164216239;13503038;w?http://sf.net/marketplace
_______________________________________________
Ltp-list mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/ltp-list

Reply via email to