You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucy.apache.org by ma...@apache.org on 2011/07/26 00:58:45 UTC

[lucy-commits] svn commit: r1150949 - in /incubator/lucy/trunk/charmonizer/src/Charmonizer: Core/OperatingSystem.c Core/OperatingSystem.h Probe.c

Author: marvin
Date: Mon Jul 25 22:58:44 2011
New Revision: 1150949

URL: http://svn.apache.org/viewvc?rev=1150949&view=rev
Log:
Always use shell for quiet redirection of Charmonizer commands.

Modified:
    incubator/lucy/trunk/charmonizer/src/Charmonizer/Core/OperatingSystem.c
    incubator/lucy/trunk/charmonizer/src/Charmonizer/Core/OperatingSystem.h
    incubator/lucy/trunk/charmonizer/src/Charmonizer/Probe.c

Modified: incubator/lucy/trunk/charmonizer/src/Charmonizer/Core/OperatingSystem.c
URL: http://svn.apache.org/viewvc/incubator/lucy/trunk/charmonizer/src/Charmonizer/Core/OperatingSystem.c?rev=1150949&r1=1150948&r2=1150949&view=diff
==============================================================================
--- incubator/lucy/trunk/charmonizer/src/Charmonizer/Core/OperatingSystem.c (original)
+++ incubator/lucy/trunk/charmonizer/src/Charmonizer/Core/OperatingSystem.c Mon Jul 25 22:58:44 2011
@@ -91,11 +91,6 @@ S_probe_dev_null(void) {
 #endif
 }
 
-void
-OS_clean_up(void) {
-    OS_remove_exe("_charm_run");
-}
-
 const char*
 OS_exe_ext(void) {
     return exe_ext;
@@ -111,59 +106,6 @@ OS_dev_null(void) {
     return dev_null;
 }
 
-static const char charm_run_code[] =
-    QUOTE(  #include <stdio.h>                                           )
-    QUOTE(  #include <stdlib.h>                                          )
-    QUOTE(  #include <string.h>                                          )
-    QUOTE(  #include <stddef.h>                                          )
-    QUOTE(  int main(int argc, char **argv)                              )
-    QUOTE(  {                                                            )
-    QUOTE(      char *command;                                           )
-    QUOTE(      size_t command_len = 1; /* Terminating null. */          )
-    QUOTE(      int i;                                                   )
-    QUOTE(      int retval;                                              )
-    /* Rebuild command line args. */
-    QUOTE(      for (i = 1; i < argc; i++) {                             )
-    QUOTE(          command_len += strlen(argv[i]) + 1;                  )
-    QUOTE(      }                                                        )
-    QUOTE(      command = (char*)calloc(command_len, sizeof(char));      )
-    QUOTE(      if (command == NULL) {                                   )
-    QUOTE(          fprintf(stderr, "calloc failed\n");                  )
-    QUOTE(          exit(1);                                             )
-    QUOTE(      }                                                        )
-    QUOTE(      for (i = 1; i < argc; i++) {                             )
-    QUOTE(          strcat( strcat(command, " "), argv[i] );             )
-    QUOTE(      }                                                        )
-    /* Redirect all output to /dev/null or equivalent. */
-    QUOTE(      freopen("%s", "w", stdout);                              )
-    QUOTE(      freopen("%s", "w", stderr);                              )
-    /* Run commmand and return its value to parent. */
-    QUOTE(      retval = system(command);                                )
-    QUOTE(      free(command);                                           )
-    QUOTE(      return retval;                                           )
-    QUOTE(  }                                                            );
-
-static void
-S_build_charm_run(void) {
-    chaz_bool_t compile_succeeded = false;
-    size_t needed = sizeof(charm_run_code)
-                    + strlen(dev_null)
-                    + strlen(dev_null)
-                    + 20;
-    char *code = (char*)malloc(needed);
-
-    sprintf(code, charm_run_code, dev_null, dev_null);
-    compile_succeeded = CC_compile_exe("_charm_run.c", "_charm_run",
-                                       code, strlen(code));
-    if (!compile_succeeded) {
-        Util_die("failed to compile _charm_run helper utility");
-    }
-
-    remove("_charm_run.c");
-    free(code);
-    charm_run_ok = true;
-}
-
 void
 OS_remove_exe(const char *name) {
     char *exe_name = (char*)malloc(strlen(name) + strlen(exe_ext) + 1);
@@ -212,20 +154,14 @@ OS_run_quietly(const char *command) {
     size_t size = sizeof(pattern) + strlen(command) + 10;
     char *quiet_command = (char*)malloc(size);
     sprintf(quiet_command, pattern, command);
-    retval = system(quiet_command);
-    free(quiet_command);
 #else
-    if (!charm_run_initialized) {
-        charm_run_initialized = true;
-        S_build_charm_run();
-    }
-    if (!charm_run_ok) {
-        retval = system(command);
-    }
-    else {
-        retval = OS_run_local("_charm_run ", command, NULL);
-    }
+    char pattern[] = "%s > %s 2>&1";
+    size_t size = sizeof(pattern) + strlen(command) + strlen(dev_null) + 10;
+    char *quiet_command = (char*)malloc(size);
+    sprintf(quiet_command, pattern, command, dev_null);
 #endif
+    retval = system(quiet_command);
+    free(quiet_command);
 
     return retval;
 }

Modified: incubator/lucy/trunk/charmonizer/src/Charmonizer/Core/OperatingSystem.h
URL: http://svn.apache.org/viewvc/incubator/lucy/trunk/charmonizer/src/Charmonizer/Core/OperatingSystem.h?rev=1150949&r1=1150948&r2=1150949&view=diff
==============================================================================
--- incubator/lucy/trunk/charmonizer/src/Charmonizer/Core/OperatingSystem.h (original)
+++ incubator/lucy/trunk/charmonizer/src/Charmonizer/Core/OperatingSystem.h Mon Jul 25 22:58:44 2011
@@ -78,11 +78,6 @@ chaz_OS_dev_null(void);
 void
 chaz_OS_init(void);
 
-/* Tear down the Charmonizer/Core/OperatingSystem module.
- */
-void
-chaz_OS_clean_up(void);
-
 #ifdef CHAZ_USE_SHORT_NAMES
   #define OS_remove_exe                chaz_OS_remove_exe
   #define OS_remove_obj                chaz_OS_remove_obj
@@ -94,7 +89,6 @@ chaz_OS_clean_up(void);
   #define OS_obj_ext                   chaz_OS_obj_ext
   #define OS_dev_null                  chaz_OS_dev_null
   #define OS_init                      chaz_OS_init
-  #define OS_clean_up                  chaz_OS_clean_up
 #endif
 
 #ifdef __cplusplus

Modified: incubator/lucy/trunk/charmonizer/src/Charmonizer/Probe.c
URL: http://svn.apache.org/viewvc/incubator/lucy/trunk/charmonizer/src/Charmonizer/Probe.c?rev=1150949&r1=1150948&r2=1150949&view=diff
==============================================================================
--- incubator/lucy/trunk/charmonizer/src/Charmonizer/Probe.c (original)
+++ incubator/lucy/trunk/charmonizer/src/Charmonizer/Probe.c Mon Jul 25 22:58:44 2011
@@ -64,7 +64,6 @@ Probe_clean_up(void) {
     ConfWriter_clean_up();
     Stat_clean_up();
     CC_clean_up();
-    OS_clean_up();
 
     if (Util_verbosity) { printf("Cleanup complete.\n"); }
 }