]> granicus.if.org Git - python/commitdiff
Slight reworking to make it more useful for debugging
authorBarry Warsaw <barry@python.org>
Tue, 23 Jan 2001 16:42:01 +0000 (16:42 +0000)
committerBarry Warsaw <barry@python.org>
Tue, 23 Jan 2001 16:42:01 +0000 (16:42 +0000)
Py_Initialize()/Py_Finalize() loop leaks.

- allow an optional 3rd argument which is the loop count.  -1 means
  infloop (the default).

- Add a setting of Py_NoSiteFlag=1, but leave it commented out by
  default.

Demo/embed/loop.c

index ca89cb78cdc671b5085100520cd045fcec583424..d5af82986d66f8dae782d00a9199c664e3b90533 100644 (file)
@@ -6,21 +6,28 @@
 
 main(int argc, char **argv)
 {
+       int count = -1;
        char *command;
 
-       if (argc != 2) {
-               fprintf(stderr, "usage: loop <python-command>\n");
+       if (argc < 2 || argc > 3) {
+               fprintf(stderr, "usage: loop <python-command> [count]\n");
                exit(2);
        }
-
        command = argv[1];
 
+       if (argc == 3) {
+               count = atoi(argv[2]);
+       }
+
        Py_SetProgramName(argv[0]);
 
-       while (1) {
+       /* uncomment this if you don't want to load site.py */
+       /* Py_NoSiteFlag = 1; */
+
+       while (count == -1 || --count >= 0 ) {
                Py_Initialize();
                PyRun_SimpleString(command);
                Py_Finalize();
        }
-       /*NOTREACHED*/
+       return 0;
 }