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]

A couple of comments about the nptl patch (minor)


Hello,

I'm reading Jeff's patch regarding support for NPTL, and have a couple
of comments/questions... It's really minor...

> static int tkill_failed;

This could be moved inside kill_lwp. Something like the following.
I would also explicitely set it to zero but this is maybe already
guaranteed by the language?

> #ifdef HAVE_TKILL_SYSCALL
>   if (!tkill_failed)
>     {
        static int tkill_failed = 0;
>       int ret = syscall (__NR_tkill, lwpid, signo);
>       if (errno != ENOSYS)
>         return ret;
>       errno = 0;
>       tkill_failed = 1;
>     }
> #endif

In stop_callback, the gdb_assert for ret to be zero after the call to
kill (or kill_lwp) has been removed. I suppose it is valid for syscall
to return nonzero values ? In that case, is it still necessary to keep
this local variable?

> /* Send a SIGSTOP to LP.  */
> 
> static int
> stop_callback (struct lwp_info *lp, void *data)
> {
>   if (!lp->stopped && !lp->signalled)
>     {
>       int ret;
[...]
>       ret = kill_lwp (GET_LWP (lp->ptid), SIGSTOP);
[...]
>     }

-- 
Joel


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