|
Message-ID: <87wntc1zee.fsf@oldenburg.str.redhat.com> Date: Thu, 08 Apr 2021 19:04:09 +0200 From: Florian Weimer <fweimer@...hat.com> To: "Andrey Bugaevskiy" <bugaevskiy@...dex-team.ru> Cc: <musl@...ts.openwall.com> Subject: Re: errno and swapcontext in a multithreaded setup * Andrey Bugaevskiy: > I'm using makecontext/swapcontext to migrate contexts between threads > and this sometimes leads to getting incorrect errno values. > > Investigating further I've noticed that __errno_location > is marked __attribute__((const)). > This causes optimizers to assume that errno address never changes > in the scope of the function which is not the case in my scenario. The optimizers make the same assumption for actual thread-local variables, not just __errno_location. Migrating contexts between threads results in undefined behavior. Thanks, Florian
Powered by blists - more mailing lists
Confused about mailing lists and their use? Read about mailing lists on Wikipedia and check out these guidelines on proper formatting of your messages.