ProcessImpl_md.c revision 2362
2115N/A * Copyright (c) 1997, 2008, Oracle and/or its affiliates. All rights reserved. 2115N/A * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 2115N/A * This code is free software; you can redistribute it and/or modify it 2115N/A * under the terms of the GNU General Public License version 2 only, as 2115N/A * published by the Free Software Foundation. Oracle designates this 2115N/A * particular file as subject to the "Classpath" exception as provided 2115N/A * by Oracle in the LICENSE file that accompanied this code. 2115N/A * This code is distributed in the hope that it will be useful, but WITHOUT 2115N/A * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 2115N/A * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 2115N/A * version 2 for more details (a copy is included in the LICENSE file that 2115N/A * You should have received a copy of the GNU General Public License version 2115N/A * 2 along with this work; if not, write to the Free Software Foundation, 2115N/A * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 2115N/A * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 2115N/A/* We try to make sure that we can read and write 4095 bytes (the 2115N/A * fixed limit on Linux) to the pipe on all operating systems without 2115N/A * deadlock. Windows 2000 inexplicably appears to need an extra 24 2115N/A * bytes of slop to avoid deadlock. 2115N/A /* If no spaces, then use entire thing */ 2115N/A /* If no quotes, or quotes after space, return up to space */ 2115N/A /* Quotes before space, return up to space after next quotes */ static const char *
const format =
"%s error=%d, %s";
0,
/* process security attribute */ 0,
/* thread security attribute */ TRUE,
/* inherits system handles */ (
LPCWSTR)
pdir,
/* change to the new current directory */ &
si,
/* (in) startup information */ &
pi);
/* (out) process information */ /* Always clean up the child's side of the pipes */ /* Clean up the parent's side of the pipes in case of failure only */ FALSE,
/* Wait for ANY event */