|
Boost-Commit : |
From: jurko.gospodnetic_at_[hidden]
Date: 2008-01-08 20:11:04
Author: jurko
Date: 2008-01-08 20:11:03 EST (Tue, 08 Jan 2008)
New Revision: 42627
URL: http://svn.boost.org/trac/boost/changeset/42627
Log:
Tried trailing spaces. Minor comment typo corrections.
Text files modified:
trunk/tools/jam/src/execnt.c | 124 ++++++++++++++++++++--------------------
1 files changed, 62 insertions(+), 62 deletions(-)
Modified: trunk/tools/jam/src/execnt.c
==============================================================================
--- trunk/tools/jam/src/execnt.c (original)
+++ trunk/tools/jam/src/execnt.c 2008-01-08 20:11:03 EST (Tue, 08 Jan 2008)
@@ -41,7 +41,7 @@
*
* Each word must be an individual element in a jam variable value.
*
- * In $(JAMSHELL), % expands to the command string and ! expands to
+ * In $(JAMSHELL), % expands to the command string and ! expands to
* the slot number (starting at 1) for multiprocess (-j) invocations.
* If $(JAMSHELL) doesn't include a %, it is tacked on as the last
* argument.
@@ -96,7 +96,7 @@
static int try_kill_one();
/* */
static double creation_time(HANDLE);
-/* Recursive check if first process is parent (directly or indirectly) of
+/* Recursive check if first process is parent (directly or indirectly) of
the second one. */
static int is_parent_child(DWORD, DWORD);
/* */
@@ -142,7 +142,7 @@
/* execution unit tests */
void execnt_unit_test()
{
-#if !defined(NDEBUG)
+#if !defined(NDEBUG)
/* vc6 preprocessor is broken, so assert with these strings gets
* confused. Use a table instead.
*/
@@ -179,17 +179,17 @@
* literals inside assert
*/
char** argv = string_to_args("\"g++\" -c -I\"Foobar\"");
- char const expected[] = "-c -I\"Foobar\"";
-
+ char const expected[] = "-c -I\"Foobar\"";
+
assert(!strcmp(argv[0], "g++"));
assert(!strcmp(argv[1], expected));
free_argv(argv);
}
-#endif
+#endif
}
/* execcmd() - launch an async command execution */
-void execcmd(
+void execcmd(
char *command,
void (*func)( void *closure, int status, timing_info*, char *invoked_command, char *command_output),
void *closure,
@@ -203,7 +203,7 @@
char **argv = argv_static;
char *p;
char* command_orig = command;
-
+
/* Check to see if we need to hack around the line-length limitation. */
/* Look for a JAMSHELL setting of "%", indicating that the command
* should be invoked directly */
@@ -228,12 +228,12 @@
{
const char *tempdir = path_tmpdir();
DWORD procID = GetCurrentProcessId();
-
+
/* SVA - allocate 64 other just to be safe */
cmdtab[ slot ].tempfile_bat = BJAM_MALLOC_ATOMIC( strlen( tempdir ) + 64 );
-
+
sprintf(
- cmdtab[ slot ].tempfile_bat, "%s\\jam%d-%02d.bat",
+ cmdtab[ slot ].tempfile_bat, "%s\\jam%d-%02d.bat",
tempdir, procID, slot );
}
@@ -247,14 +247,14 @@
if( raw_cmd && can_spawn( command ) >= MAXLINE )
{
if( DEBUG_EXECCMD )
- printf("Executing raw command directly\n");
+ printf("Executing raw command directly\n");
}
else
{
FILE *f = 0;
int tries = 0;
raw_cmd = 0;
-
+
/* Write command to bat file. For some reason this open can
fails intermitently. But doing some retries works. Most likely
this is due to a previously existing file of the same name that
@@ -274,7 +274,7 @@
fclose( f );
command = cmdtab[ slot ].tempfile_bat;
-
+
if( DEBUG_EXECCMD )
{
if (shell)
@@ -327,7 +327,7 @@
if( !cmdsrunning++ )
istat = signal( SIGINT, onintr );
-
+
/* Start the command */
{
SECURITY_ATTRIBUTES sa
@@ -406,8 +406,8 @@
string_new( &cmdtab[ slot ].target );
}
string_copy( &cmdtab[ slot ].command, command_orig );
-
- /* put together the comman we run */
+
+ /* put together the command to run */
{
char ** argp = argv;
string_new(&cmd);
@@ -418,7 +418,7 @@
string_append(&cmd,*(argp++));
}
}
-
+
/* create the output buffers */
string_new( &cmdtab[ slot ].buffer_out );
string_new( &cmdtab[ slot ].buffer_err );
@@ -442,7 +442,7 @@
perror( "CreateProcess" );
exit( EXITBAD );
}
-
+
/* clean up temporary stuff */
string_free(&cmd);
}
@@ -453,7 +453,7 @@
while( cmdsrunning >= MAXJOBS || cmdsrunning >= globs.jobs )
if( !execwait() )
break;
-
+
if (argv != argv_static)
{
free_argv(argv);
@@ -475,7 +475,7 @@
if( !cmdsrunning )
return 0;
-
+
/* wait for a command to complete, while snarfing up any output */
do
{
@@ -489,13 +489,13 @@
if ( i < 0 ) i = try_kill_one();
}
while ( i < 0 );
-
+
/* we have a command... process it */
--cmdsrunning;
{
timing_info time;
int rstat;
-
+
/* the time data for the command */
record_times(cmdtab[i].pi.hProcess, &time);
@@ -514,7 +514,7 @@
rstat = EXEC_CMD_FAIL;
else
rstat = EXEC_CMD_OK;
-
+
/* output the action block */
out_action(
cmdtab[i].action.size > 0 ? cmdtab[i].action.value : 0,
@@ -533,7 +533,7 @@
&time,
cmdtab[i].command.value,
cmdtab[i].buffer_out.value );
-
+
/* clean up the command data, process, etc. */
string_free(&cmdtab[i].action); string_new(&cmdtab[i].action);
string_free(&cmdtab[i].target); string_new(&cmdtab[i].target);
@@ -566,7 +566,7 @@
OSVERSIONINFO os_info;
os_info.dwOSVersionInfoSize = sizeof(os_info);
GetVersionEx(&os_info);
-
+
return (os_info.dwMajorVersion == 3)
? 996 /* NT 3.5.1 */
: 2047 /* NT >= 4.x */
@@ -595,7 +595,7 @@
/* drop leading and trailing whitespace if any */
while (isspace(*string))
++string;
-
+
src_len = strlen( string );
while ( src_len > 0 && isspace( string[src_len - 1] ) )
--src_len;
@@ -617,7 +617,7 @@
BJAM_FREE( line );
return 0;
}
-
+
/* Strip quotes from the first command-line argument and find
* where it ends. Quotes are illegal in Win32 pathnames, so we
* don't need to worry about preserving escaped quotes here.
@@ -644,7 +644,7 @@
argv[1] = dst;
/* Copy the rest of the arguments verbatim */
-
+
src_len -= src - string;
/* Use strncat because it appends a trailing nul */
@@ -652,7 +652,7 @@
strncat(dst, src, src_len);
argv[2] = 0;
-
+
return argv;
}
@@ -670,14 +670,14 @@
long can_spawn(char* command)
{
char *p;
-
+
char inquote = 0;
/* Move to the first non-whitespace */
command += strspn( command, " \t" );
p = command;
-
+
/* Look for newlines and unquoted i/o redirection */
do
{
@@ -695,7 +695,7 @@
if (*p)
return 0;
break;
-
+
case '"':
case '\'':
if (p > command && p[-1] != '\\')
@@ -705,10 +705,10 @@
else if (inquote == 0)
inquote = *p;
}
-
+
++p;
break;
-
+
case '<':
case '>':
case '|':
@@ -794,7 +794,7 @@
static void record_times(HANDLE process, timing_info* time)
{
FILETIME creation, exit, kernel, user;
-
+
if (GetProcessTimes(process, &creation, &exit, &kernel, &user))
{
time->system = filetime_seconds(kernel);
@@ -815,7 +815,7 @@
{
DWORD bytesInBuffer = 0;
DWORD bytesAvailable = 0;
-
+
do
{
/* check if we have any data to read */
@@ -823,7 +823,7 @@
{
bytesAvailable = 0;
}
-
+
/* read in the available data */
if ( bytesAvailable > 0 )
{
@@ -872,7 +872,7 @@
static void read_output()
{
int i;
-
+
for ( i = 0; i < globs.jobs && i < MAXJOBS; ++i )
{
/* read stdout data */
@@ -912,7 +912,7 @@
active_procs[num_active] = i;
num_active += 1;
}
-
+
/* wait for a child to complete, or for our timeout window to expire */
if ( waiting )
{
@@ -920,7 +920,7 @@
waiting = 0;
}
}
-
+
return -1;
}
@@ -930,7 +930,7 @@
if ( globs.timeout > 0 )
{
int i;
-
+
for ( i = 0; i < globs.jobs; ++i )
{
double t = running_time(cmdtab[i].pi.hProcess);
@@ -1040,7 +1040,7 @@
pid = get_process_id(process);
}
process_snapshot_h = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,0);
-
+
if (INVALID_HANDLE_VALUE != process_snapshot_h)
{
BOOL ok = TRUE;
@@ -1078,9 +1078,9 @@
return 0.0;
}
-/* Recursive check if first process is parent (directly or indirectly) of
+/* Recursive check if first process is parent (directly or indirectly) of
the second one. Both processes are passed as process ids, not handles.
-Special return value 2 means that the second process is smss.exe and its
+Special return value 2 means that the second process is smss.exe and its
parent process is System (first argument is ignored) */
static int is_parent_child(DWORD parent, DWORD child)
{
@@ -1098,21 +1098,21 @@
PROCESSENTRY32 pinfo;
pinfo.dwSize = sizeof(PROCESSENTRY32);
for (
- ok = Process32First(process_snapshot_h, &pinfo);
- ok == TRUE;
+ ok = Process32First(process_snapshot_h, &pinfo);
+ ok == TRUE;
ok = Process32Next(process_snapshot_h, &pinfo) )
{
if (pinfo.th32ProcessID == child)
{
/*
- Unfortunately, process ids are not really unique. There might
+ Unfortunately, process ids are not really unique. There might
be spurious "parent and child" relationship match between
two non-related processes if real parent process of a given
- process has exited (while child process kept running as an
- "orphan") and the process id of such parent process has been
- reused by internals of the operating system when creating
+ process has exited (while child process kept running as an
+ "orphan") and the process id of such parent process has been
+ reused by internals of the operating system when creating
another process. Thus additional check is needed - process
- creation time. This check may fail (ie. return 0) for system
+ creation time. This check may fail (ie. return 0) for system
processes due to insufficient privileges, and that's OK. */
double tchild = 0.0;
double tparent = 0.0;
@@ -1122,17 +1122,17 @@
/* csrss.exe may display message box like following:
xyz.exe - Unable To Locate Component
- This application has failed to start because
- boost_foo-bar.dll was not found. Re-installing the
+ This application has failed to start because
+ boost_foo-bar.dll was not found. Re-installing the
application may fix the problem
This actually happens when starting test process that depends
- on a dynamic library which failed to build. We want to
+ on a dynamic library which failed to build. We want to
automatically close these message boxes even though csrss.exe
is not our child process. We may depend on the fact that (in
- all current versions of Windows) csrss.exe is directly
+ all current versions of Windows) csrss.exe is directly
child of smss.exe process, which in turn is directly child of
System process, which always has process id == 4 .
- This check must be performed before comparison of process
+ This check must be performed before comparison of process
creation time */
if (stricmp(pinfo.szExeFile, "csrss.exe") == 0
&& is_parent_child(parent, pinfo.th32ParentProcessID) == 2)
@@ -1152,7 +1152,7 @@
{
tchild = creation_time(hchild);
tparent = creation_time(hparent);
-
+
CloseHandle(hparent);
}
CloseHandle(hchild);
@@ -1193,14 +1193,14 @@
if (!GetClassNameA(hwnd, buf, sizeof(buf)))
return TRUE; /* failed to read class name; presume it's not a dialog */
-
+
if (strcmp(buf, "#32770") != 0)
return TRUE; /* not a dialog */
/* GetWindowThreadProcessId returns 0 on error, otherwise thread id
of window message pump thread */
tid = GetWindowThreadProcessId(hwnd, &pid);
-
+
if (tid && is_parent_child(p.pid, pid))
{
/* ask really nice */
@@ -1211,7 +1211,7 @@
PostThreadMessageA(tid, WM_QUIT, 0, 0);
WaitForSingleObject(p.h, 300);
}
-
+
/* done, we do not want to check any other window now */
return FALSE;
}
@@ -1222,7 +1222,7 @@
static void close_alert(HANDLE process)
{
DWORD pid = get_process_id(process);
- /* If process already exited or we just cannot get its process id, do not
+ /* If process already exited or we just cannot get its process id, do not
go any further */
if (pid)
{
Boost-Commit list run by bdawes at acm.org, david.abrahams at rcn.com, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk