/* a fast and simple context switching library */
-/* Copyright (c) 2004-2008 the SimGrid team. */
-/* All rights reserved. */
+/* Copyright (c) 2009, 2010. The SimGrid Team.
+ * All rights reserved. */
/* This program is free software; you can redistribute it and/or modify it
* under the terms of the license (GNU LGPL) which comes with this package. */
#ifdef HAVE_RUBY
void SIMIX_ctx_ruby_factory_init(smx_context_factory_t *factory);
#endif
-
+
XBT_LOG_NEW_DEFAULT_SUBCATEGORY(simix_context, simix, "Context switching mecanism");
const char *xbt_ctx_factory_to_use = NULL;
#ifdef CONTEXT_THREADS
/* context switch based os thread */
SIMIX_ctx_thread_factory_init(&simix_global->context_factory);
-#elif !defined(WIN32)
+#elif defined(CONTEXT_UCONTEXT)
/* context switch based ucontext */
SIMIX_ctx_sysv_factory_init(&simix_global->context_factory);
+#elif defined(_XBT_WIN32)
+ /* context switch based windows */
#else
/* context switch is not allowed on Windows */
#error ERROR [__FILE__, line __LINE__]: no context based implementation specified.
#endif /* CONTEXT_THREADS */
else if (!strcmp(name, "sysv"))
- #if !defined(WIN32) && !defined(CONTEXT_THREADS)
+ #if !defined(_XBT_WIN32) && !defined(CONTEXT_THREADS)
SIMIX_ctx_sysv_factory_init(factory);
#else
THROW0(not_found_error, 0, "Factory 'sysv' does not exist: no System V thread support under Windows");