#2056 closed defect (fixed)

libqos conversion from uint32_t to time_t

Reported by: Gedare Bloom Owned by: Joel Sherrill
Priority: normal Milestone: 4.11
Component: score Version: 4.11
Severity: normal Keywords:
Cc: ralf.corsepius@…, petben@… Blocked By:
Blocking:

Description

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;

Attachments (1)

0001-PR2056-libqos-conversion-from-uint32_t-to-time_t.patch (882 bytes) - added by Gedare Bloom on 04/23/12 at 12:58:51.
fix qres_params_t

Download all attachments as: .zip

Change History (5)

comment:1 Changed on 04/23/12 at 12:50:28 by Gedare Bloom

Cc: Petr Benes added

Changed on 04/23/12 at 12:58:51 by Gedare Bloom

fix qres_params_t

comment:2 Changed on 04/23/12 at 14:43:02 by Ralf Corsepius

Cc: Ralf Corsepius added

comment:4 Changed on 11/24/14 at 18:58:28 by Gedare Bloom

Version: HEAD4.11

Replace Version=HEAD with Version=4.11 for the tickets with Milestone >= 4.11

Note: See TracTickets for help on using tickets.