[Bug 2056] New: libqos conversion from uint32_t to time_t

bugzilla-daemon at rtems.org bugzilla-daemon at rtems.org
Mon Apr 23 13:50:06 UTC 2012


https://www.rtems.org/bugzilla/show_bug.cgi?id=2056

             Bug #: 2056
           Summary: libqos conversion from uint32_t to time_t
    Classification: Unclassified
           Product: RTEMS
           Version: HEAD
          Platform: All
        OS/Version: RTEMS
            Status: NEW
          Severity: normal
          Priority: P3
         Component: cpukit
        AssignedTo: joel.sherrill at oarcorp.com
        ReportedBy: gedare at rtems.org


I think there is a casting in libqos that assumes time_t is equivalent to
uint32_t.

In schedulercbs.h we have
typedef struct {
  /** Relative deadline of the server. */
  time_t deadline;
  /** Budget (computation time) of the server. */
  time_t budget;
} Scheduler_CBS_Parameters;

In qreslib.h we have
typedef struct {
  /** Relative deadline of the server. */
  uint32_t P;
  /** Budget (computation time) of the server. */
  uint32_t Q;
} qres_params_t;

RTEMS_INLINE_ROUTINE qos_rv qres_create_server (
  qres_params_t *params,
  qres_sid_t    *server_id
)
{
  return _Scheduler_CBS_Create_server(
             (Scheduler_CBS_Parameters *) params,
             NULL,
             server_id
         );
}

Looking at the AquosA api
http://aquosa.sourceforge.net/aquosa-docs/aquosa-qosres/html/ I think we should
be defining the qres_params_t in terms of qres_time_t instead of uint32_t,
which means the structures should be identical.

I think we can fix this just by typedef Scheduler_CBS_Parameters qres_params_t;

-- 
Configure bugmail: https://www.rtems.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are watching all bug changes.



More information about the bugs mailing list