Skip to content

Commit 78b366e

Browse files
committed
NASA Docket No. GSC-19,200-1, and identified as "cFS Draco"
Batch update of latest cFS software release Reflects commit aff38fd30d6b26a3555208578a28ed10ba9f3420 from NASA internal development repo
1 parent 3bcb137 commit 78b366e

803 files changed

Lines changed: 8798 additions & 2066 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/actions/check-coverage/action.yml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,6 @@ runs:
2727
shell: bash
2828
run: lcov
2929
--capture --rc lcov_branch_coverage=1
30-
--include '${{ github.workspace }}/*'
3130
--directory '${{ inputs.binary-dir }}'
3231
--output-file '${{ inputs.binary-dir }}/coverage.info' |
3332
tee '${{ inputs.binary-dir }}/lcov_out.txt'

.github/workflows/build-osal-documentation.yml

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,15 @@ name: "Build OSAL Documentation (API Guide)"
22

33
on:
44
push:
5+
branches:
6+
- dev
7+
- main
58
pull_request:
9+
types:
10+
- opened
11+
- reopened
12+
- synchronize
13+
workflow_dispatch:
614

715
jobs:
816

.github/workflows/codeql-cfe-build.yml

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,12 +2,20 @@ name: "CodeQL cFE Build Analysis"
22

33
on:
44
push:
5+
branches:
6+
- dev
7+
- main
58
pull_request:
9+
types:
10+
- opened
11+
- reopened
12+
- synchronize
13+
workflow_dispatch:
614

715
jobs:
816
codeql:
917
name: CodeQl Analysis
1018
uses: nasa/cFS/.github/workflows/codeql-reusable.yml@main
11-
with:
19+
with:
1220
component-path: osal
1321
make: 'make -C build/native/default_cpu1/osal'

.github/workflows/codeql-osal-default.yml

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,13 +2,21 @@ name: "CodeQL Analysis OSAL Default Build"
22

33
on:
44
push:
5+
branches:
6+
- dev
7+
- main
58
pull_request:
9+
types:
10+
- opened
11+
- reopened
12+
- synchronize
13+
workflow_dispatch:
614

715
jobs:
816
codeql:
917
name: CodeQl Analysis
1018
uses: nasa/cFS/.github/workflows/codeql-reusable.yml@main
11-
with:
19+
with:
1220
component-path: cFS # Causes reusable workflow to not checkout bundle
1321
setup: 'cp Makefile.sample Makefile'
1422
prep: 'make prep'

.github/workflows/format-check.yml

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,11 @@ name: Format Check
22

33
# Run on all push and pull requests
44
on:
5-
push:
65
pull_request:
6+
types:
7+
- opened
8+
- reopened
9+
- synchronize
710

811
jobs:
912
format-check:

.github/workflows/standalone-build.yml

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,24 @@
11
name: Build and Test Standalone OSAL package
22

33
on:
4-
workflow_dispatch:
4+
push:
5+
branches:
6+
- dev
7+
- main
58
pull_request:
9+
types:
10+
- opened
11+
- reopened
12+
- synchronize
13+
workflow_dispatch:
614

715
defaults:
816
run:
917
shell: bash
1018

1119
env:
1220
allowed_ncov_lines: 0
13-
allowed_ncov_branches: 2
21+
allowed_ncov_branches: 0
1422
allowed_ncov_functions: 0
1523

1624
jobs:

.github/workflows/static-analysis.yml

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,13 +3,20 @@ name: Static Analysis
33
# Run on all push and pull requests
44
on:
55
push:
6+
branches:
7+
- dev
8+
- main
69
pull_request:
10+
types:
11+
- opened
12+
- reopened
13+
- synchronize
714
workflow_dispatch:
815

916
jobs:
1017
static-analysis:
1118
name: Run Static Analysis
1219
uses: nasa/cFS/.github/workflows/static-analysis.yml@main
13-
with:
20+
with:
1421
strict-dir-list: './src/bsp ./src/os'
1522
cmake-project-options: -DENABLE_UNIT_TESTS=TRUE -DOSAL_OMIT_DEPRECATED=TRUE -DOSAL_SYSTEM_BSPTYPE=generic-linux

.gitignore

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,13 @@
11
build
22
Makefile
3+
4+
# Ignore macOS generated files types
5+
.DS_Store
6+
.DS_Store?
7+
._*
8+
.Spotlight-V100
9+
.Trashes
10+
ehthumbs.db
11+
Thumbs.db
12+
.fuse_hidden*
13+

CMakeLists.txt

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -88,7 +88,7 @@
8888
# OSAL resources.
8989
#
9090
######################################################################
91-
cmake_minimum_required(VERSION 3.5)
91+
cmake_minimum_required(VERSION 3.10)
9292

9393
# Set the policy dictating use of target_link_libraries across directories
9494
# Either OLD or NEW should work here but setting it to something avoids a
@@ -355,6 +355,7 @@ set(OSAL_SRCLIST
355355
src/os/shared/src/osapi-network.c
356356
src/os/shared/src/osapi-printf.c
357357
src/os/shared/src/osapi-queue.c
358+
src/os/shared/src/osapi-rwlock.c
358359
src/os/shared/src/osapi-select.c
359360
src/os/shared/src/osapi-shell.c
360361
src/os/shared/src/osapi-sockets.c
@@ -370,7 +371,6 @@ if (OSAL_CONFIG_DEBUG_PRINTF)
370371
)
371372
endif (OSAL_CONFIG_DEBUG_PRINTF)
372373

373-
374374
# Define the external "osal" static library target
375375
# This is a combination of the generic parts with the low level
376376
# system-specific parts
@@ -419,7 +419,7 @@ if (ENABLE_UNIT_TESTS)
419419
target_link_libraries(${TGTNAME} PUBLIC ut_assert osal)
420420
add_test(${TGTNAME} ${TGTNAME})
421421
foreach(TGT ${INSTALL_TARGET_LIST})
422-
install(TARGETS ${TGTNAME} DESTINATION ${TGT}/${UT_INSTALL_SUBDIR})
422+
install(TARGETS ${TGTNAME} DESTINATION ${TGT})
423423
endforeach()
424424

425425
endfunction(add_osal_ut_exe)

default_config.cmake

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -206,6 +206,33 @@ set(OSAL_CONFIG_CONSOLE_ASYNC TRUE
206206
CACHE BOOL "Controls spawning of a separate utility task for OS_printf"
207207
)
208208

209+
#
210+
# OS_CONFIG_RWLOCK
211+
# ----------------------------------
212+
#
213+
# Controls whether the readers-writer lock object is included in the compilation
214+
# process of the OSAL.
215+
#
216+
# If set FALSE, the relevant source and header files will be excluded in the compilation
217+
# of OSAL, such that the object is still registered with the Object ID system
218+
# but its associated functions won't be defined or declared.
219+
#
220+
# If set TRUE, the relevant source and header files will be included in the compilation
221+
# of OSAL, and all it's associated functions will be callable.
222+
#
223+
# When this is TRUE (default), it gives the ability to create a readers-writer lock as
224+
# an alternative to synchronization with mutexes for data structures that are read-heavy.
225+
# It allows for either an infinite number of readers to be accessing a data structure or
226+
# a single writer.
227+
#
228+
# This option is available since some platforms may not support readers-writer locks, so
229+
# any use of a readers-writer lock should also create an implementation using solely
230+
# mutexes.
231+
#
232+
set(OSAL_CONFIG_RWLOCK TRUE
233+
CACHE BOOL "Controls the inclusion of readers-writer lock objects in the code"
234+
)
235+
209236
#############################################
210237
# Resource Limits for the OS API
211238
#############################################
@@ -238,6 +265,11 @@ set(OSAL_CONFIG_MAX_MUTEXES 20
238265
CACHE STRING "Maximum Number of Mutexes to support"
239266
)
240267

268+
# The maximum number of rwlocks to support
269+
set(OSAL_CONFIG_MAX_RWLOCKS 20
270+
CACHE STRING "Maximum Number of RwLocks to support"
271+
)
272+
241273
# The maximum number of condition variables to support
242274
set(OSAL_CONFIG_MAX_CONDVARS 4
243275
CACHE STRING "Maximum Number of Condition Variables to support"

0 commit comments

Comments
 (0)