Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

osal Integration candidate: 2021-01-12 #750

Merged
merged 34 commits into from
Jan 13, 2021
Merged

Commits on Dec 21, 2020

  1. Fix #702, use iterators instead of for loops

    Convert remaining operations using for loops to use iterators.
    This ensures locking is done consistently and correctly.
    jphickey committed Dec 21, 2020
    Configuration menu
    Copy the full SHA
    ce8e85c View commit details
    Browse the repository at this point in the history

Commits on Dec 22, 2020

  1. Fix #645, implement separate lock/unlock key

    Implement an "unlock key" - based on task ID - which can be part of the local
    token, rather than relying on the task ID being the same between the lock
    and unlock ops.  Notably, the task ID can change, in particular if the task
    is exiting.
    
    Also Fixes #701, other general cleanup
    
    Implement all global lock/unlock error checking in shared layer, not in
    impl layer, for consistency.  Remove redundant checks.
    
    Make all functions return void (should never fail) and in the
    unlikely event that something does fail then report the error,
    but no other recourse possible.
    jphickey committed Dec 22, 2020
    Configuration menu
    Copy the full SHA
    29e1fd5 View commit details
    Browse the repository at this point in the history
  2. Fix #703, implement exclusive/reserved lock

    Change the EXCLUSIVE lock type such that it sets the ID in the global
    table to RESERVED and unlocks the global before returning to the caller.
    
    This allows the potentially long-running operation to complete and
    not block other operations from happening in other tasks.
    
    Use the EXCLUSIVE lock for all create/delete ops as well as for
    bind and connect socket ops.
    
    Also implement a new "RESERVED" lock to handle a special case in the
    vxworks timebase implementation where the impl layer needs to acquire
    a token for an object as it is being created.  This case is special
    because it needs to happen during OS_TimeBaseCreate, and cannot be
    completed after the fact like normal tasks, because it is a factor
    in determining the success/fail status of the overall operation.
    jphickey committed Dec 22, 2020
    Configuration menu
    Copy the full SHA
    a7529cf View commit details
    Browse the repository at this point in the history
  3. Fix #642, make OS_TaskDelete synchronous

    In the POSIX implementation, OS_TaskDelete was implemented in a
    deferred manner - the API call was a request, and the actual
    deletion occured sometime thereafter.  This is a problem if the
    task is running code within a dynamically loaded module, and the
    intent is to delete the task so the module can be unloaded.  In
    this case the app needs to be certain that the task has actually
    been deleted before unloading can be done safely.
    
    To do this requires use of pthread_join() on POSIX which confirms
    that the task has exited.  However, this is a (potentially) blocking
    call, so to do this requires rework of the EXCLUSIVE lock mode
    such that the OSAL lock is _not_ held during the join operation.
    jphickey committed Dec 22, 2020
    Configuration menu
    Copy the full SHA
    7ba42a6 View commit details
    Browse the repository at this point in the history
  4. Fix #703, unit test updates

    Update unit tests for idmap functions, add test cases where coverage
    was incomplete.  All OS_ObjectId* function coverage is back at 100%.
    jphickey committed Dec 22, 2020
    Configuration menu
    Copy the full SHA
    c821c37 View commit details
    Browse the repository at this point in the history

Commits on Dec 28, 2020

  1. Fix #697, use POSIX dir implementation on VxWorks6

    Instead of maintaining a one-off implementation for VxWorks 6,
    use the POSIX implementation for this module.  The only
    incompatibility is the prototype for mkdir() which is missing
    the second argument.  This can be worked around with a simple
    compatibility macro that is only enabled for VxWorks 6.x builds.
    jphickey committed Dec 28, 2020
    Configuration menu
    Copy the full SHA
    ed990e7 View commit details
    Browse the repository at this point in the history
  2. Fix #580, improve FS_BASED mounts on VxWorks

    The mount/unmount implementation was not really checking
    for and handling this mapping type.
    
    To be consistent with POSIX it should also create a directory
    if it does not already exist.
    jphickey committed Dec 28, 2020
    Configuration menu
    Copy the full SHA
    e175530 View commit details
    Browse the repository at this point in the history
  3. Fix #708, chmod error handling

    Better error translations in the OS_FileChmod_Impl() function.
    Also corrects a file handle leak.
    
    This makes it return OS_ERR_NOT_IMPLEMENTED when run on a file
    system that does not have permissions, which in turn causes the
    unit test to be skipped rather than fail.
    jphickey committed Dec 28, 2020
    Configuration menu
    Copy the full SHA
    fcfba48 View commit details
    Browse the repository at this point in the history
  4. Fix #471, order of operations for delete all

    When cleaning up for shutdown, delete resources that have
    a task/thread first, followed by other resource types.
    
    This helps avoid possible dependencies as running threads
    might be using the other resources.
    jphickey committed Dec 28, 2020
    Configuration menu
    Copy the full SHA
    b5863b7 View commit details
    Browse the repository at this point in the history

Commits on Dec 29, 2020

  1. Fix #445, add pointer parameter checks

    Add OS_CHECK_POINTER macros to OS_ConvertToArrayIndex and
    OS_TimeBaseGetFreeRun.
    jphickey committed Dec 29, 2020
    Configuration menu
    Copy the full SHA
    d81c5ab View commit details
    Browse the repository at this point in the history
  2. Fix #573, add OS_FileSysStatVolume

    Add OS_FileSysStatVolume as replacement for OS_fsBytesFree and
    OS_fsBlocksFree.  Update unit tests and stubs for the new API
    call.
    
    Does not (yet) deprecate the existing functions, as references
    still need to be updated elsewhere in apps.
    jphickey committed Dec 29, 2020
    Configuration menu
    Copy the full SHA
    b04c4ff View commit details
    Browse the repository at this point in the history
  3. Fix #544, add pointer check

    Add parameter check to OS_SocketSendTo and adjust coverage test
    to validate.
    jphickey committed Dec 29, 2020
    Configuration menu
    Copy the full SHA
    847a6d2 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    b82270f View commit details
    Browse the repository at this point in the history

Commits on Dec 31, 2020

  1. Fix #429, update OSAL code to use time accessors

    Do not access members of OS_time_t directly, instead
    use conversion/accessor inline functions to get the
    desired value.
    
    Update the "stat" structure output by OS_stat to use
    the OS_time_t struct instead of int32, and update
    the OS_stat implemention to transfer the full resolution
    if it supports it (POSIX.1-2008 or newer).
    jphickey committed Dec 31, 2020
    Configuration menu
    Copy the full SHA
    ccbaca0 View commit details
    Browse the repository at this point in the history

Commits on Jan 4, 2021

  1. Fix #429, check time conversions in coverage test

    Add test cases to coverage test to validate all basic
    OS_time_t access operations and conversions.
    jphickey committed Jan 4, 2021
    Configuration menu
    Copy the full SHA
    779d3e3 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    5881078 View commit details
    Browse the repository at this point in the history

Commits on Jan 7, 2021

  1. Fix #429, add "assemble" routines for milli/microsecs

    Add OS_TimeAssembleFromMilliseconds and OS_TimeAssembleFromMicroseconds
    for a complete set of conversion routines in both directions.
    jphickey committed Jan 7, 2021
    Configuration menu
    Copy the full SHA
    f09c57e View commit details
    Browse the repository at this point in the history

Commits on Jan 11, 2021

  1. Merge pull request #704 from jphickey/fix-642-645-702-703

    Fix #642, 645, 701, 702, 703 - OSAL global table management
    jphickey committed Jan 11, 2021
    Configuration menu
    Copy the full SHA
    ccbbcac View commit details
    Browse the repository at this point in the history
  2. Fix #732 change uint32 to size_t

    zanzaben committed Jan 11, 2021
    Configuration menu
    Copy the full SHA
    efd7f35 View commit details
    Browse the repository at this point in the history

Commits on Jan 12, 2021

  1. Merge pull request #710 from jphickey/fix-708-chmod-err-handling

    Fix #708, chmod error handling
    astrogeco authored Jan 12, 2021
    Configuration menu
    Copy the full SHA
    2a6d368 View commit details
    Browse the repository at this point in the history
  2. Merge pull request #716 from jphickey/fix-544-sendto-pointer

    Fix #544, add pointer check
    astrogeco authored Jan 12, 2021
    Configuration menu
    Copy the full SHA
    08c1cf1 View commit details
    Browse the repository at this point in the history
  3. Merge pull request #717 from jphickey/fix-573-stat-volume

    Fix #573, add OS_FileSysStatVolume
    astrogeco authored Jan 12, 2021
    Configuration menu
    Copy the full SHA
    3fcac5f View commit details
    Browse the repository at this point in the history
  4. Merge pull request #711 from jphickey/fix-471-deleteall-order

    Fix #471, order of operations for delete all
    astrogeco authored Jan 12, 2021
    Configuration menu
    Copy the full SHA
    35795ca View commit details
    Browse the repository at this point in the history
  5. Merge pull request #709 from jphickey/fix-580-vxworks-fsbased-mount

    Fix #580, improve FS_BASED mounts on VxWorks
    astrogeco authored Jan 12, 2021
    Configuration menu
    Copy the full SHA
    52aed2a View commit details
    Browse the repository at this point in the history
  6. Merge pull request #720 from skliper/fix606_cast-align-err

    Fix #606, Resolve cast-align error in VxWorks OS_TaskGetId_Impl
    astrogeco authored Jan 12, 2021
    Configuration menu
    Copy the full SHA
    89bd11a View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    f12686f View commit details
    Browse the repository at this point in the history

Commits on Jan 13, 2021

  1. Merge pull request #734 from skliper/fix644-rm_pack_align

    Fix #644, Remove alignment macros
    astrogeco authored Jan 13, 2021
    Configuration menu
    Copy the full SHA
    2f2600f View commit details
    Browse the repository at this point in the history
  2. Merge pull request #706 from jphickey/fix-697-vxworks6-dir

    Fix #697, use POSIX dir implementation on VxWorks6
    astrogeco authored Jan 13, 2021
    Configuration menu
    Copy the full SHA
    e9ff3a6 View commit details
    Browse the repository at this point in the history
  3. Merge pull request #733 from zanzaben/Fix732_rtems_5_conflicting_types

    Fix #732, change uint32 to size_t
    astrogeco authored Jan 13, 2021
    Configuration menu
    Copy the full SHA
    b1f1b27 View commit details
    Browse the repository at this point in the history
  4. Merge pull request #715 from jphickey/fix-445-param-checks

    Fix #445, add pointer parameter checks
    astrogeco authored Jan 13, 2021
    Configuration menu
    Copy the full SHA
    4e16b38 View commit details
    Browse the repository at this point in the history
  5. Merge pull request #723 from jphickey/fix-429-expand-ostimet

    Fix #429, add OS_time_t access functions
    astrogeco committed Jan 13, 2021
    Configuration menu
    Copy the full SHA
    b30e58d View commit details
    Browse the repository at this point in the history
  6. HOTFIX IC-2021-01-12, Fix osal and usersguide doxygen warning

    Added Doxygen escape character "\" to "<>" symbols in comments
    astrogeco committed Jan 13, 2021
    Configuration menu
    Copy the full SHA
    f9dd6b3 View commit details
    Browse the repository at this point in the history
  7. Merge pull request #756 from zanzaben/fix755_Select_Test_hanging

    Fix #755, resolve subtasks not ending on time
    astrogeco authored Jan 13, 2021
    Configuration menu
    Copy the full SHA
    eef2a3a View commit details
    Browse the repository at this point in the history
  8. Bump to v5.1.0-rc1+dev184

    Update ReadMe
    astrogeco committed Jan 13, 2021
    Configuration menu
    Copy the full SHA
    fa80679 View commit details
    Browse the repository at this point in the history