stdcxx-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Martin Sebor <se...@roguewave.com>
Subject Re: Exec util bugfix [patch]
Date Fri, 28 Jul 2006 21:14:16 GMT
Andrew Black wrote:
> Greetings all.
> 
> Attached is a patch that cleans up some of the internal logic of the 
> exec utility.  The main purpose is to remove the dependency on the diff 
> utility and make the error handling more consistent.

This is in: http://svn.apache.org/viewvc?rev=426676&view=rev

Btw., we'll need to clean up the failures that we get with EDG eccp
(below). They happen because with that compiler we use a super-anal
mode where only the names required to be declared by the standard
are declared in the standard headers. I think the only way to deal
with this will be to compile the utility in a less strict mode,
will mean changing the command line options and also removing the
-I from our command line. And when we do that, we might as well
compile the whole thing as C (and make the changes to the build
infrastructure to allow that in general).

Martin

eccp -c -I/build/sebor/dev/stdlib/include/ansi -D_RWSTDDEBUG 
-D_RWSTD_USE_CONFIG -I/build/sebor/dev/stdlib/include 
-I/build/sebor/eccp-3.8-11s/include 
-I/build/sebor/dev/stdlib/include/loc  -A -x 
--template_directory=/build/sebor/eccp-3.8-11s/lib -g 
--display_error_number --remarks --diag_suppress 
193,236,340,401,261,479,487,678,679,815 
/build/sebor/dev/stdlib/src/util/exec.cpp
"/build/sebor/dev/stdlib/src/util/exec.cpp", line 247: error #20: identifier
           "snprintf" is undefined
       snprintf (def, sizeof def, "SIG#%d", signo);
       ^

"/build/sebor/dev/stdlib/src/util/exec.cpp", line 265: error #20: identifier
           "SIGALRM" is undefined
       if (SIGALRM == signo)
           ^

"/build/sebor/dev/stdlib/src/util/exec.cpp", line 295: error #20: identifier
           "SIGHUP" is undefined
           SIGHUP, SIGINT, SIGTERM, SIGKILL, SIGKILL
           ^

"/build/sebor/dev/stdlib/src/util/exec.cpp", line 295: error #20: identifier
           "SIGKILL" is undefined
           SIGHUP, SIGINT, SIGTERM, SIGKILL, SIGKILL
                                    ^

"/build/sebor/dev/stdlib/src/util/exec.cpp", line 300: error #70: incomplete
           type is not allowed
       struct sigaction act;
                        ^

"/build/sebor/dev/stdlib/src/util/exec.cpp", line 323: error #70: incomplete
           type is not allowed
       sigaction (SIGALRM, &act, 0);
       ^

"/build/sebor/dev/stdlib/src/util/exec.cpp", line 323: error #20: identifier
           "SIGALRM" is undefined
       sigaction (SIGALRM, &act, 0);
                  ^

"/build/sebor/dev/stdlib/src/util/exec.cpp", line 323: error #18: expected a
           ")"
       sigaction (SIGALRM, &act, 0);
                         ^

"/build/sebor/dev/stdlib/src/util/exec.cpp", line 343: error #20: identifier
           "EINTR" is undefined
               if (EINTR == errno && alarm_timeout) {
                   ^

"/build/sebor/dev/stdlib/src/util/exec.cpp", line 355: error #20: identifier
           "kill" is undefined
                   (void)kill (child_pid, signals [siginx]);
                         ^

"/build/sebor/dev/stdlib/src/util/exec.cpp", line 380: error #20: identifier
           "EINVAL" is undefined
               else if (EINVAL == errno) {
                        ^

"/build/sebor/dev/stdlib/src/util/exec.cpp", line 387: error #20: identifier
           "ECHILD" is undefined
               else if (ECHILD == errno) {
                        ^

"/build/sebor/dev/stdlib/src/util/exec.cpp", line 457: error #20: identifier
           "ENOENT" is undefined
           if (ENOENT != errno)
               ^

"/build/sebor/dev/stdlib/src/util/exec.cpp", line 566: error #20: identifier
           "fdopen" is undefined
               error_file = fdopen (error_cache,"a");
                            ^

14 errors detected in the compilation of 
"/build/sebor/dev/stdlib/src/util/exec.cpp".

Mime
View raw message