Opened 8 years ago
Closed 8 years ago
#11024 closed Bugs (duplicate)
exec_file raises error if run in loop
| Reported by: | Owned by: | Ralf W. Grosse-Kunstleve | |
|---|---|---|---|
| Milestone: | To Be Determined | Component: | python USE GITHUB |
| Version: | Boost 1.55.0 | Severity: | Problem |
| Keywords: | file loop python script | Cc: |
Description
We tried to run a soak test of our code which uses boost::python, but found that after 509 runs the file could not be read. Found the cause to be boost::python not closing the FILE after an fopen. Line 91 in exec.cpp. Adding fclose(fs) after PyRun_File seemed to fix the problem. You can reproduce the problem with the following code:
int _tmain(int argc, _TCHAR* argv[])
{
int count = 0;
Py_Initialize();
while (true)
{
auto strScriptFile = "D:\\Scrap\\ConsoleApplication2\\SampleCustomMacroOne.py";
object main_module = import("__main__");
dict globalDict = extract<dict>(main_module.attr("__dict__"));
exec_file(strScriptFile, globalDict);
std::cout << count << endl;
count++;
}
return 0;
}
Note:
See TracTickets
for help on using tickets.

This is a duplicate of #8058