weston-log-flight-rec: allow re-running a compositor
weston_primary_flight_recorder_ring_buffer needs to be cleared on destruction of the subscriber it was assigned from so that a compositor and be re-executed in-process (static variables do not get re-initialized automatically). This will be used by the test harness when it will execute wet_main() multiple times in the same process. Otherwise it would hit the assert in weston_log_subscriber_create_flight_rec(). Signed-off-by: Pekka Paalanen <pekka.paalanen@collabora.com>
This commit is contained in:
committed by
Pekka Paalanen
parent
f0d3a61491
commit
8fc4b59bfd
@@ -265,11 +265,18 @@ weston_log_subscriber_create_flight_rec(size_t size)
|
|||||||
*
|
*
|
||||||
* @param sub the weston_log_subscriber object
|
* @param sub the weston_log_subscriber object
|
||||||
*
|
*
|
||||||
|
* This also resets weston_primary_flight_recorder_ring_buffer to NULL if it
|
||||||
|
* is the destroyed subscriber.
|
||||||
*/
|
*/
|
||||||
WL_EXPORT void
|
WL_EXPORT void
|
||||||
weston_log_subscriber_destroy_flight_rec(struct weston_log_subscriber *sub)
|
weston_log_subscriber_destroy_flight_rec(struct weston_log_subscriber *sub)
|
||||||
{
|
{
|
||||||
struct weston_debug_log_flight_recorder *flight_rec = to_flight_recorder(sub);
|
struct weston_debug_log_flight_recorder *flight_rec;
|
||||||
|
|
||||||
|
flight_rec = to_flight_recorder(sub);
|
||||||
|
if (weston_primary_flight_recorder_ring_buffer == &flight_rec->rb)
|
||||||
|
weston_primary_flight_recorder_ring_buffer = NULL;
|
||||||
|
|
||||||
free(flight_rec->rb.buf);
|
free(flight_rec->rb.buf);
|
||||||
free(flight_rec);
|
free(flight_rec);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user