[m-users.] Global variables that are local to the thread

Volker Wysk post at volker-wysk.de
Mon Nov 6 02:40:16 AEDT 2023


Hi!

I'm considering to build a new version of the ODBC library, that's thread-
safe. There's a point which I don't understand yet.

The ODBC library has a number of global variables. For instance, the ODBC
environment handle. This makes it thread-unsafe. 

Can these variables be made local to the thread, while still being global,
so all foreign procedures in the same thread can access it? Or do I need to
introduce a new argument of some new type odbc_data, which is to be passed
to all predicates of the library? This type would hold all the formerly
global data, but it would be burdensome to pass it around all the time.

Maybe use a thread-local mutable variable?

Cheers,
Volker


More information about the users mailing list