- Thread-safety issues... The Irix port does, indeed, seem to be working. However, it seems sensitive to having an appropriately configured compiler. (or maybe a recent enough version). Specifically, if the following test program compiles and runs for a minute or two, then syzygy will run and be stable.
#include
#include
#include
using namespace std;
void* task1(void*){
cout << "YYYY\n";
while (true){
string temp("yyy_test_name");
}
return NULL;
}
void* task2(void*){
cout << "XXXX\n";
while (true){
string temp("death_by_xxx");
}
return NULL;
}
int main(int, char**){
cout << "#####################################################\n";
pthread_t ID1, ID2;
pthread_create(&ID1,NULL,task1,NULL);
pthread_create(&ID2,NULL,task2,NULL);
// wait forever
pthread_join(ID1, NULL);
}
The compile script for Irix is simple. Here, we are assuming that the program name is test.cpp.
CC -n32 -LANG:std -c test.cpp CC -n32 -LANG:std -o test test.o -lpthread
NOTE: This would probably catch the thread safety problem on RedHat 7.x as well (?). Haven't really felt like re-installing something that ancient to find out.
list<arDatabaseNode*> foo = graphics_node.getChildren();causes a memory leak!