This is the mail archive of the gdb-patches@sources.redhat.com mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [RFA] Use vfork in shell_escape


On Mon, Oct 21, 2002 at 09:52:05PM -0400, Daniel Jacobowitz wrote:
> This patch is pretty obvious.  I couldn't figure out why my machine was
> running out of memory; forking GDB to run an 'ls' during the maint.exp tests
> can be a bit heavy, since it may have all of glibc's debug info loaded. 
> This patch seems logical to me... OK to commit?

Updated as suggested, to use gdb_vfork.h.  Fernando, is this OK?

-- 
Daniel Jacobowitz
MontaVista Software                         Debian GNU/Linux Developer

2002-11-05  Daniel Jacobowitz  <drow@mvista.com>

	* Makefile.in (cli-cmds.o): Add $(gdb_vfork_h).
	* cli/cli-cmds.c: Include "gdb_vfork.h".
	(shell_escape): Use vfork.

Index: Makefile.in
===================================================================
RCS file: /cvs/src/src/gdb/Makefile.in,v
retrieving revision 1.274
diff -u -p -r1.274 Makefile.in
--- Makefile.in	2 Nov 2002 15:13:34 -0000	1.274
+++ Makefile.in	5 Nov 2002 21:40:52 -0000
@@ -2311,7 +2311,7 @@ cli-cmds.o: $(srcdir)/cli/cli-cmds.c $(d
 	$(gdb_wait_h) $(gdb_regex_h) $(gdb_string_h) $(filenames_h) \
 	$(ui_out_h) $(top_h) $(cli_decode_h) $(cli_script_h) \
 	$(cli_setshow_h) $(cli_cmds_h) $(source_h) $(linespec_h) \
-	$(expression_h) $(language_h) $(objfiles_h)
+	$(expression_h) $(language_h) $(objfiles_h) $(gdb_vfork_h)
 	$(CC) -c $(INTERNAL_CFLAGS) $(srcdir)/cli/cli-cmds.c
 cli-decode.o: $(srcdir)/cli/cli-decode.c $(defs_h) $(symtab_h) \
 	$(gdb_regex_h) $(gdb_string_h) $(ui_out_h) $(cli_cmds_h) \
Index: cli/cli-cmds.c
===================================================================
RCS file: /cvs/src/src/gdb/cli/cli-cmds.c,v
retrieving revision 1.22
diff -u -p -r1.22 cli-cmds.c
--- cli/cli-cmds.c	22 Sep 2002 22:18:41 -0000	1.22
+++ cli/cli-cmds.c	5 Nov 2002 21:40:53 -0000
@@ -25,6 +25,7 @@
 #include "gdb_wait.h"		/* For shell escape implementation */
 #include "gdb_regex.h"		/* Used by apropos_command */
 #include "gdb_string.h"
+#include "gdb_vfork.h"
 #include "linespec.h"
 #include "expression.h"
 #include "language.h"
@@ -517,7 +518,7 @@ shell_escape (char *arg, int from_tty)
   else
     p++;			/* Get past '/' */
 
-  if ((pid = fork ()) == 0)
+  if ((pid = vfork ()) == 0)
     {
       if (!arg)
 	execl (user_shell, p, 0);


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]