pike.git / src / main.c

version» Context lines:

pike.git/src/main.c:1:   /*\   ||| This file a part of Pike, and is copyright by Fredrik Hubinette   ||| Pike is distributed as GPL (General Public License)   ||| See the files COPYING and DISCLAIMER for more information.   \*/   /**/   #include "global.h" - RCSID("$Id: main.c,v 1.142 2002/01/03 12:04:06 grubba Exp $"); + RCSID("$Id: main.c,v 1.143 2002/01/08 17:49:19 grubba Exp $");   #include "fdlib.h"   #include "backend.h"   #include "module.h"   #include "object.h"   #include "language.h"   #include "lex.h"   #include "pike_types.h"   #include "builtin_functions.h"   #include "array.h"   #include "stralloc.h"
pike.git/src/main.c:576:   #endif /* STACK_DIRECTION < 0 */      #if defined(__linux__) && defined(HAVE_DLOPEN) && defined(HAVE_DLFCN_H)    {    char ** bos_location;    void *handle;    /* damn this is ugly -Hubbe */    if((handle=dlopen(0, RTLD_LAZY)))    {    bos_location=dlsym(handle,"__pthread_initial_thread_bos"); -  dlclose(handle); +        if(bos_location && *bos_location &&    (*bos_location - Pike_interpreter.stack_top) *STACK_DIRECTION < 0)    {    Pike_interpreter.stack_top=*bos_location;    } -  +  +  dlclose(handle);    }    }   #else   #ifdef HAVE_PTHREAD_INITIAL_THREAD_BOS    {    extern char * __pthread_initial_thread_bos;    /* Linux glibc threads are limited to a 4 Mb stack    * __pthread_initial_thread_bos is the actual limit    */