NetBSD-Bugs archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

re: bin/59571: new bind crashes on arm64



having another look i see that the code i see it works around
lack of working ctor with:

void rcu_register_thread(void)
{
...
        rcu_init();     /* In case gcc does not support constructor attribute */

rcu_init() is lacking concurrent support, but shouldn't matter
because all threads will have the same answer, and on netbsd
it will be rcu_sys_membarrier_status(false) (since we don't have
a membarrier(2).)

it should end up doing very little.. so i'm confused about what
is happening here.  is the ctor running *too early* and trying
to access other state not available - some other ctor needed?


would be nice to properly understand what is going wrong here,
i notice that there is also a dtor in this file, that calls a
moderately complex function -- urcu_call_rcu_exit() -- which
handles safe teardown of worker threads.


.mrg.


Home | Main Index | Thread Index | Old Index