perl/NetWare/nw5thread.c
<<
>>
Prefs
   1
   2/*
   3 * Copyright © 2001 Novell, Inc. All Rights Reserved.
   4 *
   5 * You may distribute under the terms of either the GNU General Public
   6 * License or the Artistic License, as specified in the README file.
   7 *
   8 */
   9
  10/*
  11 * FILENAME             :       nw5thread.c
  12 * DESCRIPTION  :       Thread related functions.
  13 * Author               :       SGP
  14 * Date                 :       January 2001.
  15 *
  16 */
  17
  18
  19
  20#include "EXTERN.h"
  21#include "perl.h"
  22
  23//For Thread Local Storage
  24#include "win32ish.h"           // For "BOOL", "TRUE" and "FALSE"
  25#include "nwtinfo.h"
  26
  27#ifdef USE_DECLSPEC_THREAD
  28__declspec(thread) void *PL_current_context = NULL;
  29#endif
  30
  31
  32void
  33Perl_set_context(void *t)
  34{
  35#if defined(USE_ITHREADS)
  36#  ifdef USE_DECLSPEC_THREAD
  37    Perl_current_context = t;
  38#  else
  39        fnAddThreadCtx(PL_thr_key, t);
  40#  endif
  41#endif
  42}
  43
  44
  45void *
  46Perl_get_context(void)
  47{
  48#if defined(USE_ITHREADS)
  49#  ifdef USE_DECLSPEC_THREAD
  50    return Perl_current_context;
  51#  else
  52        return(fnGetThreadCtx(PL_thr_key));
  53#  endif
  54#else
  55    return NULL;
  56#endif
  57}
  58
  59
  60//To Remove the Thread Context stored during Perl_set_context
  61BOOL
  62Remove_Thread_Ctx(void)
  63{
  64#if defined(USE_ITHREADS)
  65#  ifdef USE_DECLSPEC_THREAD
  66        return TRUE;
  67#  else
  68        return(fnRemoveThreadCtx(PL_thr_key));
  69#  endif
  70#  else
  71        return TRUE;
  72#endif
  73}
  74
  75
  76//PL_thr_key - Not very sure if this is global or per thread.  When multiple scripts
  77//run simultaneously on NetWare, this will give problems.  Hence in nwtinfo.c, the 
  78//current thread id is used as the TLS index & PL_thr_key is not used.  
  79//This has to be checked???? - sgp
  80
  81
lxr.linux.no kindly hosted by Redpill Linpro AS, provider of Linux consulting and operations services since 1995.