X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/4725d7a4bc5ac1fdae3e86222cdc23eaaf6fb226..a8909d621db9ae5690144cbe00fc0589c8ac26c8:/src/xbt/xbt_sg_stubs.c diff --git a/src/xbt/xbt_sg_stubs.c b/src/xbt/xbt_sg_stubs.c index 88d78e4056..dccc2355cb 100644 --- a/src/xbt/xbt_sg_stubs.c +++ b/src/xbt/xbt_sg_stubs.c @@ -1,5 +1,3 @@ -/* $Id$ */ - /* xbt_sg_stubs -- empty functions sometimes used in SG (never in RL) */ /* This is always part of SG, never of RL. Content: */ @@ -11,8 +9,8 @@ /* In RL, java is useless, and threads are always part of the picture, */ /* ucontext never */ -/* Copyright (c) 2007 Martin Quinson. */ -/* All rights reserved. */ +/* Copyright (c) 2007, 2008, 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. */ @@ -20,91 +18,142 @@ #include "xbt_modinter.h" #include "xbt/sysdep.h" #include "xbt/xbt_os_thread.h" -#include "portable.h" /* CONTEXT_THREADS */ +#include "portable.h" /* CONTEXT_THREADS */ #ifndef CONTEXT_THREADS - +#ifndef WIN32 +#ifdef HAVE_PTHREAD_H /* xbt_threads is loaded in libsimgrid when they are used to implement the xbt_context. * The decision (and the loading) is made in xbt/context.c. */ +int xbt_os_thread_atfork(void (*prepare)(void), + void (*parent)(void), void (*child)(void)) +{ + return 0; +} + /* Mod_init/exit mecanism */ -void xbt_os_thread_mod_init(void) {} +void xbt_os_thread_mod_preinit(void) +{ +} -void xbt_os_thread_mod_exit(void) {} +void xbt_os_thread_mod_postexit(void) +{ +} /* Main functions */ -xbt_os_thread_t xbt_os_thread_create(const char*name,pvoid_f_pvoid_t start_routine,void* param) { +xbt_os_thread_t xbt_os_thread_create(const char *name, + pvoid_f_pvoid_t start_routine, + void *param, void *data) +{ xbt_backtrace_display_current(); - xbt_die("No pthread in SG when compiled against the ucontext (xbt_os_thread_create)"); + xbt_die + ("No pthread in SG when compiled against the ucontext (xbt_os_thread_create)"); } -void xbt_os_thread_exit(int *retcode){ +void xbt_os_thread_exit(int *retcode) +{ xbt_backtrace_display_current(); - xbt_die("No pthread in SG when compiled against the ucontext (xbt_os_thread_exit)"); + xbt_die + ("No pthread in SG when compiled against the ucontext (xbt_os_thread_exit)"); } -xbt_os_thread_t xbt_os_thread_self(void){ +void xbt_os_thread_detach(xbt_os_thread_t worker) +{ xbt_backtrace_display_current(); - xbt_die("No pthread in SG when compiled against the ucontext (xbt_os_thread_self)"); + xbt_die + ("No pthread in SG when compiled against the ucontext (xbt_os_thread_exit)"); } -void xbt_os_thread_yield(void){ +xbt_os_thread_t xbt_os_thread_self(void) +{ xbt_backtrace_display_current(); - xbt_die("No pthread in SG when compiled against the ucontext (xbt_os_thread_yield)"); + xbt_die + ("No pthread in SG when compiled against the ucontext (xbt_os_thread_self)"); } - -xbt_os_mutex_t xbt_os_mutex_init(void){ +void xbt_os_thread_yield(void) +{ xbt_backtrace_display_current(); - xbt_die("No pthread in SG when compiled against the ucontext (xbt_os_mutex_init)"); + xbt_die + ("No pthread in SG when compiled against the ucontext (xbt_os_thread_yield)"); } -void xbt_os_mutex_acquire(xbt_os_mutex_t mutex){ - xbt_backtrace_display_current(); - xbt_die("No pthread in SG when compiled against the ucontext (xbt_os_mutex_acquire)"); + +xbt_os_mutex_t xbt_os_mutex_init(void) +{ + /* + xbt_backtrace_display_current(); + xbt_die + ("No pthread in SG when compiled against the ucontext (xbt_os_mutex_init)"); + */ + return NULL; } -void xbt_os_mutex_release(xbt_os_mutex_t mutex){ - xbt_backtrace_display_current(); - xbt_die("No pthread in SG when compiled against the ucontext (xbt_os_mutex_release)"); +void xbt_os_mutex_acquire(xbt_os_mutex_t mutex) +{ + /* + xbt_backtrace_display_current(); + xbt_die + ("No pthread in SG when compiled against the ucontext (xbt_os_mutex_acquire)"); + */ } -void xbt_os_mutex_destroy(xbt_os_mutex_t mutex){ - xbt_backtrace_display_current(); - xbt_die("No pthread in SG when compiled against the ucontext (xbt_os_mutex_destroy)"); +void xbt_os_mutex_release(xbt_os_mutex_t mutex) +{ + /* + xbt_backtrace_display_current(); + xbt_die + ("No pthread in SG when compiled against the ucontext (xbt_os_mutex_release)"); + */ +} + +void xbt_os_mutex_destroy(xbt_os_mutex_t mutex) +{ + /* + xbt_backtrace_display_current(); + xbt_die + ("No pthread in SG when compiled against the ucontext (xbt_os_mutex_destroy)"); + */ } -xbt_os_cond_t xbt_os_cond_init(void){ +xbt_os_cond_t xbt_os_cond_init(void) +{ xbt_backtrace_display_current(); - xbt_die("No pthread in SG when compiled against the ucontext (xbt_os_cond_init)"); + xbt_die + ("No pthread in SG when compiled against the ucontext (xbt_os_cond_init)"); } -void xbt_os_cond_wait(xbt_os_cond_t cond, xbt_os_mutex_t mutex){ +void xbt_os_cond_wait(xbt_os_cond_t cond, xbt_os_mutex_t mutex) +{ xbt_backtrace_display_current(); - xbt_die("No pthread in SG when compiled against the ucontext (xbt_os_cond_wait)"); + xbt_die + ("No pthread in SG when compiled against the ucontext (xbt_os_cond_wait)"); } -void xbt_os_cond_signal(xbt_os_cond_t cond){ +void xbt_os_cond_signal(xbt_os_cond_t cond) +{ xbt_backtrace_display_current(); - xbt_die("No pthread in SG when compiled against the ucontext (xbt_os_cond_signal)"); + xbt_die + ("No pthread in SG when compiled against the ucontext (xbt_os_cond_signal)"); } -void xbt_os_cond_broadcast(xbt_os_cond_t cond){ +void xbt_os_cond_broadcast(xbt_os_cond_t cond) +{ xbt_backtrace_display_current(); - xbt_die("No pthread in SG when compiled against the ucontext (xbt_os_cond_broadcast)"); + xbt_die + ("No pthread in SG when compiled against the ucontext (xbt_os_cond_broadcast)"); } -void xbt_os_cond_destroy(xbt_os_cond_t cond){ +void xbt_os_cond_destroy(xbt_os_cond_t cond) +{ xbt_backtrace_display_current(); - xbt_die("No pthread in SG when compiled against the ucontext (xbt_os_cond_destroy)"); + xbt_die + ("No pthread in SG when compiled against the ucontext (xbt_os_cond_destroy)"); } #endif - - -#ifndef HAVE_JAVA -#include "xbt/xbt_context_private.h" -void xbt_ctx_java_factory_init(xbt_context_factory_t* factory) {} +#endif #endif