0

Basically, say I have some global variable foo in my C extension, set to an initial value of 3 like so:

int foo = 3;

And say the value of foo is changed to 4 within function call foobar:

int foobar() {
    foo = 4;
    return 0;
}

If I make another call on the C extension, is the value of foo reset to 3 or does the value of foo persist across function calls and remain 4?

It seems to make sense that foo would persist but I figured better safe than sorry.

1 Answers1

1

A shared object or a dll is loaded once per python process (except you have explicit code closing reopening the C extension)

Therefore global vars and static vars will persist for one process. (and its threads)

gelonida
  • 5,327
  • 2
  • 23
  • 41