diff mbox

[v4,06/17] trace: break circular dependency in event-internal.h

Message ID 1474533652-31170-7-git-send-email-berrange@redhat.com
State New
Headers show

Commit Message

Daniel P. Berrangé Sept. 22, 2016, 8:40 a.m. UTC
Currently event-internal.h includes generated-events.h,
while generated-events.h includes event-internal.h
causing a circular dependency.

event-internal.h requires that the content of
generated-events.h comes first, so that it can see
the typedefs for TraceEventID and TraceEventVCPUID.

Switching the TraceEvent struct to use uint32_t
for the two ID fields, removes the dependency on
the typedef, allowing events-internal.h to be a
self-contained header. This will then let the patch
following this move event-internal.h to the top of
generated-events.h, so we can expose TraceEvent
struct variables in generated-events.h

Signed-off-by: Daniel P. Berrange <berrange@redhat.com>
---
 trace/event-internal.h | 7 ++-----
 1 file changed, 2 insertions(+), 5 deletions(-)

Comments

Lluís Vilanova Sept. 22, 2016, 12:22 p.m. UTC | #1
Daniel P Berrange writes:

> Currently event-internal.h includes generated-events.h,
> while generated-events.h includes event-internal.h
> causing a circular dependency.

> event-internal.h requires that the content of
> generated-events.h comes first, so that it can see
> the typedefs for TraceEventID and TraceEventVCPUID.

> Switching the TraceEvent struct to use uint32_t
> for the two ID fields, removes the dependency on

This comma should be removed.

> the typedef, allowing events-internal.h to be a
> self-contained header. This will then let the patch
> following this move event-internal.h to the top of
> generated-events.h, so we can expose TraceEvent
> struct variables in generated-events.h

> Signed-off-by: Daniel P. Berrange <berrange@redhat.com>

Reviewed-by: Lluís Vilanova <vilanova@ac.upc.edu>


> ---
>  trace/event-internal.h | 7 ++-----
>  1 file changed, 2 insertions(+), 5 deletions(-)

> diff --git a/trace/event-internal.h b/trace/event-internal.h
> index 4a98d09..58f0551 100644
> --- a/trace/event-internal.h
> +++ b/trace/event-internal.h
> @@ -10,9 +10,6 @@
>  #ifndef TRACE__EVENT_INTERNAL_H
>  #define TRACE__EVENT_INTERNAL_H
 
> -#include "trace/generated-events.h"
> -
> -
>  /**
>   * TraceEvent:
>   * @id: Unique event identifier.
> @@ -29,8 +26,8 @@
>   * Opaque generic description of a tracing event.
>   */
>  typedef struct TraceEvent {
> -    TraceEventID id;
> -    TraceEventVCPUID vcpu_id;
> +    uint32_t id;
> +    uint32_t vcpu_id;
>      const char * name;
>      const bool sstate;
>      uint16_t *dstate;
> -- 
> 2.7.4
Stefan Hajnoczi Sept. 23, 2016, 1:53 p.m. UTC | #2
On Thu, Sep 22, 2016 at 09:40:41AM +0100, Daniel P. Berrange wrote:
> Currently event-internal.h includes generated-events.h,
> while generated-events.h includes event-internal.h
> causing a circular dependency.
> 
> event-internal.h requires that the content of
> generated-events.h comes first, so that it can see
> the typedefs for TraceEventID and TraceEventVCPUID.
> 
> Switching the TraceEvent struct to use uint32_t
> for the two ID fields, removes the dependency on
> the typedef, allowing events-internal.h to be a
> self-contained header. This will then let the patch
> following this move event-internal.h to the top of
> generated-events.h, so we can expose TraceEvent
> struct variables in generated-events.h
> 
> Signed-off-by: Daniel P. Berrange <berrange@redhat.com>
> ---
>  trace/event-internal.h | 7 ++-----
>  1 file changed, 2 insertions(+), 5 deletions(-)

Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>
diff mbox

Patch

diff --git a/trace/event-internal.h b/trace/event-internal.h
index 4a98d09..58f0551 100644
--- a/trace/event-internal.h
+++ b/trace/event-internal.h
@@ -10,9 +10,6 @@ 
 #ifndef TRACE__EVENT_INTERNAL_H
 #define TRACE__EVENT_INTERNAL_H
 
-#include "trace/generated-events.h"
-
-
 /**
  * TraceEvent:
  * @id: Unique event identifier.
@@ -29,8 +26,8 @@ 
  * Opaque generic description of a tracing event.
  */
 typedef struct TraceEvent {
-    TraceEventID id;
-    TraceEventVCPUID vcpu_id;
+    uint32_t id;
+    uint32_t vcpu_id;
     const char * name;
     const bool sstate;
     uint16_t *dstate;