This is the mail archive of the
gdb@sources.redhat.com
mailing list for the GDB project.
Re: job control stuff in tracepoint.c
- To: Mark Kettenis <kettenis at wins dot uva dot nl>
- Subject: Re: job control stuff in tracepoint.c
- From: Elena Zannoni <ezannoni at cygnus dot com>
- Date: Thu, 12 Jul 2001 17:04:35 -0400
- Cc: gdb at sources dot redhat dot com, ezannoni at cygnus dot com
- References: <200107121217.f6CCHgT30217@delius.kettenis.local>
Mark Kettenis writes:
> Ok, I'm looking into cleaning up some host-dependent stuff;
> autoconfigifying bits and so on.
>
> I'm currently looking into stuff dealing with job-control signals
> (SIGTSTP. sigprocmask, sigsetmask). In that context we also do some
> really wierd stuff with a macro called STOP_SIGNAL. The reason for
> its existence has been eliminated (broken job-control handling on the
> Convex, support for which has been removed), yet it still exists. I'd
> like to eleminate STOP_SIGNAL (and revert to using SIGTSTP where
> appropriate), but when I did that I discovered that STOP_SIGNAL is
> used in tracepoint.c wheras it isn't defined at all, not even to
> SIGTSTP. Replacing #ifdef STOP_SIGNAL, with #ifdef SIGTSTP leads to
> compilation failure since the variable job_control isn't declared.
>
> I'm not quite sure what the code is trying to do. Something with
> redisplaying the prompt when running asynchronously? Elena, can you
> shed some light on this?
>
> Mark
OK. Nothing specifically required this code in async, except to keep
compatibility with the behavior in sync mode. The code about SIGTSTP
in event-top.c is a clone (with async modifications) of what was in
top.c already.
The fact that tracepoint.c doesn't know about job_control is because
it doesn't have an #include "terminal.h" (neither does inflow.c). The
reason I touched that code in tracepoint.c is because I needed to make
it work with the async model. Michael Snyder was the original author
of tracepoint.c.
(I looked at our internal repository history, and I didn't find
anyhting enlightening).
Actually, my guess is that this code in tracepoint.c was cloned from
top.c, command_line_input().
Given this, if you think it can be cleaned up, I would say go ahead.
Elena