https://bugs.linaro.org/show_bug.cgi?id=3691

            Bug ID: 3691
           Summary: ODP timer does not fully support process mode
           Product: OpenDataPlane - linux- generic reference
           Version: v1.15.0.0
          Hardware: All
                OS: Linux
            Status: UNCONFIRMED
          Severity: major
          Priority: ---
         Component: Timers
          Assignee: lng-odp@lists.linaro.org
          Reporter: krister.wikst...@nokia.com
                CC: lng-odp@lists.linaro.org
  Target Milestone: ---

Implementation does not work, if timer pools are manipulated after forking.

Steps to Reproduce: 
1. Fork the worker processes
2. Create new timer pool in one process
3. Pass the handle (e.g. through scheduled event) to another process and try to
use it with e.g. create timer

This leads to segfault, since the shared memory allocated by
odp_timer_pool_create() is not mapped in the other processes. Furthermore the
internal pointer table timer_pool[] is statically allocated as global and thus
does not work over processes (separate copies).

Timer does work with processes, if all timer pools are created before forking
and not modified later (this is what odp_timer_test does). This is too
limiting. There are cases, where part of the application should run first and
information needed to create the timer related part is received later.

-- 
You are receiving this mail because:
You are the assignee for the bug.
You are on the CC list for the bug.

Reply via email to