[ https://issues.apache.org/jira/browse/THRIFT-4941?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Jens Geyer resolved THRIFT-4941. -------------------------------- Fix Version/s: 0.13.0 Assignee: Jens Geyer Resolution: Cannot Reproduce No further feedback since, closing. Feel free to reopen if more info becomes available. > thrift compiler will not auto update gen-cpp directory > ------------------------------------------------------ > > Key: THRIFT-4941 > URL: https://issues.apache.org/jira/browse/THRIFT-4941 > Project: Thrift > Issue Type: Bug > Components: C++ - Compiler > Affects Versions: 0.13.0 > Environment: > Reporter: pengzhouhu > Assignee: Jens Geyer > Priority: Major > Fix For: 0.13.0 > > Time Spent: 10m > Remaining Estimate: 0h > > thrift compiler will not auto update the files in the gen-cpp directory. > when we call t_generator::generate_program() and init_generator() in > compiler\cpp\src\thrift\generate\t_generator.cc , > 'MKDIR' macro will ignore EEXIST, and throw on any other error, this > will not give any reponse print on terminal. we used to update and generate > the .h .cpp files in the whole directory. > 1. delete the old folder and create new one, generate the file again. > 2. throw errno directly and exit the terminal. > > what`s your opinion about this? > > code details: > {code:java} > // ignore EEXIST, throw on any other error > #ifdef _WIN32 > #define MKDIR(x) { int r = _mkdir(x); if (r == -1 && errno != EEXIST) { throw > (std::string(x) + ": ") + strerror(errno); } } > #else > #define MKDIR(x) { int r = mkdir(x, S_IRWXU | S_IRWXG | S_IRWXO); if (r == -1 > && errno != EEXIST) { throw (std::string(x) + ": ") + strerror(errno); } } > #endif > {code} > Thanks. > Zhouhu. -- This message was sent by Atlassian Jira (v8.3.4#803005)