[simix] Switch to .cpp files
Reduce the amount of implicit include directories This is intrusive to quite a lot of files, but I think that it helps making the source code more explicit about what's public and what's not.
Update copyright notices Only files with an existing SimGrid copyright header and that were already changed in 2015 were modified.
Adding debug messages
disable segv handler and guards on windows platforms
Install signal handler for SIGSEGV. If SEGV comes from invalid permissions, hint the user at increasing stack size.
Use context/guard_size to protect context stacks against overflow. Add a configurable number of protected pages at the top of each stack.
Don't hide type real type, smx_process_t, behind a void*.
Add/update copyright notices. All source files (C, C++, Java, Fortran, Perl, Ruby, Lua, Python, Sh) should be updated by this commit. Note however that the following directories (and their subdirectories) were not considered: ./buildtools/jenkins/ ./buildtools/pipol/ ./examples/smpi/NAS/ ./teshsuite/smpi/mpich3-test/ Use: git grep -L 'Copyright.*SimGrid' to list the files remaining without copyright notice.
Dig through git history, and update copyright lines. Note that: * only existing lines are updated * dates already written were kept * missing dates were found with "git log --format=%ad" Adding a copyright notice to files where it's missing is left as an exercise to the reader.
cosmetics and fix ugly bug in windows code
avoid setting the value of the stack size for thread factory if the parameter is not explicitely set by the user (this is a bit annoying, as it adds a global to check the initialization, but it handles the case were the explicitely wanted value is also the default one)
add a function in xbt to allow setting the stack size of a pthread, according to the value of the contexts/stack_size parameter (which was only raw/ucontext before)
Remove old cruft.
typo
Rename SIMIX files
Remove declaration for inexistent functions.
Switch directly between runnable contextes (work in progress)
Simplify the handling of SIMIX requests. Re-use the list of process_to_run instead of swags of requests, and ensures the requests are correctly ordered, even on parallel run with the thread factory.
Use contexts/nthreads in thread factory too. Use a semaphore to limit the number of threads running simultaneously.