data: indexer processes

* TaskBuildIndex starts seperate indexer processes and communicates via shared memory
* indexer processes get restarted if they fail
* indexer processes are killed when the app closes or crashes
* added utility class SharedMemory to allocate and access shared memory, providing basic data structures
* added SharedMemoryGarbageCollector for keeping track of running instances and cleaning up shared memory in case of a crash
* show errors for source files that crashed during indexing
* added basic exception handling to task scheduling
* added option to turn off processes and use threads in preferences, but still use shared memory

fortune cookie message = Good news from someone dear is coming soon.
This commit is contained in:
Eberhard Graether
2017-05-04 15:50:59 +02:00
parent 9beea94fd8
commit 706119ebcc
109 changed files with 3351 additions and 1261 deletions
+6 -6
View File
@@ -19,28 +19,28 @@ then
if [ "$2" = "test" ]
then
#echo "release test"
cd bin/test && ../../build/Release/test/Sourcetrail_test
cd build/Release/test/ && ./Sourcetrail_test
elif [ "$2" = "keygen" ]
then
#echo "release keygen"
cd bin/license_generator && ../../build/Release/license_generator/Sourcetrail_license_generator
cd build/Release/license_generator && ./Sourcetrail_license_generator
else
#echo "release app"
cd bin/app && ../../build/Release/app/Sourcetrail
cd build/Release/app && ./Sourcetrail
fi
elif [ "$1" = "debug" ] || [ "$1" = "d" ]
then
if [ "$2" = "test" ]
then
#echo "debug test"
cd bin/test && ../../build/Debug/test/Sourcetrail_test
cd build/Debug/test && ./Sourcetrail_test
elif [ "$2" = "keygen" ]
then
#echo "debug keygen"
cd bin/license_generator && ../../build/Debug/license_generator/Sourcetrail_license_generator
cd build/Debug/license_generator && ./Sourcetrail_license_generator
else
#echo "debug app"
cd bin/app && ../../build/Debug/app/Sourcetrail
cd build/Debug/app && ./Sourcetrail
fi
else
echo "no arguments: first argument 'release' or 'debug', second argument 'test' for tests"