feature merge bs-coreoptimize->trunk: Atomic Operations, Threading, Spinlock implemnetation. [commit 1/2, windows will followup]

- Added Abstractions for Atomic Operations (lock instructions.. windows guy's may now this as Interlocked* stuff ..)
- Added Threading api abstraction for Pthread based OS's and Windows
- Added Spinlock Implementation (uses CAS / if you need more informations - just read the source - its simple.)

- Due to Interlocked(Compare)Exchange64 .. we now require at least i686 (Pentium Pro) for 32Bit Builds :)
	youll also may feel some performance improvements when using 32bit builsd due to "newer" minimal arch
	the compiler is now able to use CMOV's ....


================================================================
= Important Warning: 
================================================================
Dont use threading at the moment athena is not threadsafe!
you'll mess up everthing when accessing data from other threads .., no synchronization is provided.

A way to process tasks asynchronously will come up after / with the new socket system.




git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@16221 54d463be-8e91-2dee-dedb-b68131a5f0ec
This commit is contained in:
blacksirius
2012-06-03 18:53:02 +00:00
parent 024deea2ac
commit 04165cfcff
11 changed files with 1256 additions and 2 deletions

View File

@@ -28,6 +28,7 @@ endif
map_sql \
tools \
import \
test \
clean help
all: $(ALL_DEPENDS)
@@ -55,6 +56,9 @@ map_sql: $(MAP_SQL_DEPENDS)
tools:
@$(MAKE) -C src/tool
test:
@$(MAKE) -C src/test
import:
# 1) create conf/import folder
# 2) add missing files
@@ -72,6 +76,7 @@ clean:
@$(MAKE) -C src/char $@
@$(MAKE) -C src/map $@
@$(MAKE) -C src/tool $@
@$(MAKE) -C src/test $@
help:
@echo "most common targets are 'all' 'sql' 'conf' 'clean' 'help'"
@@ -87,6 +92,7 @@ help:
@echo "'all' - builds all the above targets"
@echo "'sql' - builds sql servers (targets 'common_sql' 'login_sql' 'char_sql'"
@echo " 'map_sql' and 'import')"
@echo "'test' - builds tests"
@echo "'clean' - cleans builds and objects"
@echo "'help' - outputs this message"