This is the mail archive of the gdb-patches@sourceware.org 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: [PATCH] GDB checkpoint can't/shouldn't be possible with multiple threads on Linux


> Next time please post ChangeLog entries as plaintext,
> separate from the patch.

2011-04-12 Kevin Pouget <kevin.pouget@st.com>

	PR threads/12628

	* linux-fork.c (checkpoint_command): Disallow checkpointing of
	processes with multiple threads.
	(inf_has_multiple_thread_cb): New function.

> > diff --git a/gdb/linux-fork.c b/gdb/linux-fork.c
> > index 7f654af..c137604 100644
> > --- a/gdb/linux-fork.c
> > +++ b/gdb/linux-fork.c
> > @@ -628,6 +628,11 @@ checkpoint_command (char *args, int from_tty)
> > ? ?pid_t retpid;
> > ? ?struct cleanup *old_chain;
> >
> > + ?/* Ensure that the inferior is not multithreaded. */
>
> Double space after periods.

fixed

> > + ?update_thread_list () ;
> > + ?if (thread_count () > 1)
> > + ? ?error (_("checkpoint: can't checkpoint multiple threads.")) ;
>
> You have spurious spaces before `;'.

fixed

> thread_count() returns the sum total number of threads of all
> inferiors/process. ?You want the number of threads of the
> current process only. ?AFAIR, there's no function handy that
> returns you that. ?(Since you're interested in checking for multiple
> threads, you could use iterate_over_threads with a
> callback that returns true if it sees a second thread for a
> given process, so you don't really need to count all
> the threads.)

you're right, I updated the patch as suggested

thanks,

Kevin

Attachment: checkpoint.diff
Description: Binary data


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