nasa / cFE

The Core Flight System (cFS) Core Flight Executive (cFE)
Apache License 2.0
409 stars 202 forks source link

TBL main task blocked for duration of CFE_TBL_DumpToFile call #2528

Open jphickey opened 6 months ago

jphickey commented 6 months ago

Is your feature request related to a problem? Please describe. The implementation of CFE_TBL_DumpToFile() writes the entire table to a file, and will block the calling thread for the duration of all the file operations (open, write, close).

Some tables can be large - so if the table is non-trivial in size this could block for a significant period of time.

This will block the main task of CFE_TBL from accepting commands during the entire operation.

Describe the solution you'd like CFE ES and SB utilize a background task and incremental file write when dumping their respective data structures, such as the SB routing table. Similar approach can be used here (code to support this concept is in FS, no need to rewrite everything)

Additional context Generally - blocking the main task of any app is something to be avoided. Previous bugs were written about ES and SB for this same thing, so it seems like TBL doing the same would also be a problem.

Requester Info Joseph Hickey, Vantage Systems, Inc.