pike.git / src / threads.c

version» Context lines:

pike.git/src/threads.c:1:   #include "global.h" - RCSID("$Id: threads.c,v 1.103 1999/08/30 06:23:50 hubbe Exp $"); + RCSID("$Id: threads.c,v 1.104 1999/10/14 20:29:19 grubba Exp $");      int num_threads = 1;   int threads_disabled = 0;      #ifdef _REENTRANT   #include "threads.h"   #include "array.h"   #include "mapping.h"   #include "object.h"   #include "pike_macros.h"
pike.git/src/threads.c:591:    {    ONERROR tmp;    SET_ONERROR(tmp,exit_on_error,"Error in handle_error in master object!");    assign_svalue_no_free(sp++, & throw_value);    APPLY_MASTER("handle_error", 1);    pop_stack();    UNSET_ONERROR(tmp);    }    if(throw_severity == THROW_EXIT)    { +  free((char *) data);    do_exit(throw_value.u.integer);    }    } else {    INT32 args=arg.args->size;    back.severity=THROW_EXIT;    push_array_items(arg.args);    arg.args=0;    f_call_function(args);       /* copy return value to the thread_id here */
pike.git/src/threads.c:646: Inside #if defined(UNIX_THREADS)
     #ifdef UNIX_THREADS   int num_lwps = 1;   #endif      void f_thread_create(INT32 args)   {    THREAD_T dummy;    struct thread_starter *arg;    int tmp; -  arg=ALLOC_STRUCT(thread_starter); +  arg = ALLOC_STRUCT(thread_starter);    arg->args=aggregate_array(args);    arg->id=clone_object(thread_id_prog,0);    OBJ2THREAD(arg->id)->status=THREAD_RUNNING;       do { -  tmp=th_create(& OBJ2THREAD(arg->id)->id, +  tmp = th_create(& OBJ2THREAD(arg->id)->id,    new_thread_func,    arg);    } while( tmp == EINTR );       if(!tmp)    {    num_threads++;    thread_table_insert(arg->id);       if(!threads_evaluator_callback)