Skip to content

gx_horizontal_list_total_columns_set.c and gx_vertical_list_total_rows_set.c do NOT use GX_ENTER_CRITICAL/GX_EXIT_CRITICAL #136

@parsley

Description

@parsley

Describe the bug

gx_horizontal_list_total_columns_set.c and
gx_vertical_list_total_rows_set.c
do not use GX_ENTER_CRITICAL/GX_EXIT_CRITICAL
but they use _gx_system_lock()/_gx_system_unlock() directly.

Is this done intentionally (== feature) or an oversight (== bug)?

Please also mention any information which could help others to understand
the problem you're facing:

- What target device are you using?
irrelevant (I use freeRTOS on a STM32G070)

- Which version of Eclipse ThreadX?
I use GUIX commit 12d185a from 2025-09-29 aka v6.4.3.202503_rel

- What toolchain and environment?
irrelevant / any

- What have you tried to diagnose or workaround this issue?
I've only searched for gx_system(un)*lock(?!) and GX(ENTER|EXIT)_CRITICAL throughout GUIX and recognized a discrepancy where I find the defines or the functions.
If _gx_horizontal_list_total_columns_set() and _gx_vertical_list_total_rows_set() would use the defines rather than the functions I would not need to provide the "system mutex" in my gx_system_rtos_bind.c (because I defined GX_DISABLE_MULTITHREAD_SUPPORT).

To Reproduce
Steps to reproduce the behavior:

Search for regex (gx_system(un)*lock(?!)|GX(ENTER|EXIT)_CRITICAL) throughout GUIX.

  • I get 228 results in 79 files (.c, .h, .cpp, .txt)
  • Most results show a coherent picture.
  • However some function headers mention gx_system(un)lock falsely in stead of GX_ENTER/EXIT_CRITICAL.
  • Some function headers do not state the functions/defines they call at all.
  • The major issue is the usage of _gx_system_lock()/_gx_system_unlock() in _gx_horizontal_list_total_columns_set() and _gx_vertical_list_total_rows_set()

Expected behavior
A clear and concise description of what you expected to happen.

No search result for _gx_system_(un)*lock(?!_) outside of gx_api.h, gx_system.h, gx_system_lock.c, gx_system_unlock.c and validation_guix_error_checking_api_coverage_no_output.c. Those should be replaced by the correct defines.

Impact
What impact does this issue have on your progress (e.g., annoyance, showstopper)
It's an annoyance since I'm very short on resources on the STM32G070.

Additional context
Add any other context about the problem here.
I'm just starting to work with GUIX and so far I'm not sure if getting rid of the mutex in those two functions might be wrong?

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions