Only call {set,clear}_semaphore probe function if they are not NULL
authorSergio Durigan Junior <sergiodj@redhat.com>
Tue, 14 Oct 2014 18:45:13 +0000 (14:45 -0400)
committerSergio Durigan Junior <sergiodj@redhat.com>
Tue, 14 Oct 2014 18:46:18 +0000 (14:46 -0400)
commit0ea5cda8612bd2233f7a2f9d1eba0b62c2e6c015
tree68a032cab73c270e981d6efe1d1ec726fee51b11
parentf7088df3b1c0370101edada54e26d24efb53125c
Only call {set,clear}_semaphore probe function if they are not NULL

This patch is a response to what I commented on:

  <https://sourceware.org/ml/gdb-patches/2014-10/msg00046.html>

When reviewing Jose's USDT probe support patches.  Basically, in his
patch he had to create dummy functions for the set_semaphore and the
clear_semaphore methods of probe_ops (gdb/probe.h), because those
functions were called inconditionally from inside gdb/breakpoint.c and
gdb/tracepoint.c.  However, the semaphore concept may not apply to all
types of probes, and this is the case here: USDT probes do not have
semaphores (although SDT probes do).

Anyway, this is a simple (almost obvious) patch to guard the call to
{set,clear}_semaphore.  It does not introduce any regression on a
Fedora 20 x86_64.

I will apply it in a few days in case there is no comment.

gdb/ChangeLog:
2014-10-14  Sergio Durigan Junior  <sergiodj@redhat.com>

* breakpoint.c (bkpt_probe_insert_location): Call set_semaphore
only if it is not NULL.
(bkpt_probe_remove_location): Likewise, for clear_semaphore.
* probe.h (struct probe_ops) <set_semaphore>: Update comment.
(struct probe_ops) <clear_semaphore>: Likewise.
* tracepoint.c (start_tracing): Call set_semaphore only if it is
not NULL.
(stop_tracing): Likewise, for clear_semaphore.
gdb/ChangeLog
gdb/breakpoint.c
gdb/probe.h
gdb/tracepoint.c
This page took 0.027095 seconds and 4 git commands to generate.