Back to index

lightning-sunbird  0.9+nobinonly
Functions
openvms.c File Reference
#include "primpl.h"

Go to the source code of this file.

Functions

void _MD_EarlyInit (void)
PRWord_MD_HomeGCRegisters (PRThread *t, int isCurrent, int *np)
void _MD_SET_PRIORITY (_MDThread *thread, PRUintn newPri)
PRStatus _MD_InitializeThread (PRThread *thread)
PRStatus _MD_WAIT (PRThread *thread, PRIntervalTime ticks)
PRStatus _MD_WAKEUP_WAITER (PRThread *thread)
void _MD_YIELD (void)
PRStatus _MD_CREATE_THREAD (PRThread *thread, void(*start)(void *), PRThreadPriority priority, PRThreadScope scope, PRThreadState state, PRUint32 stackSize)
int thread_suspend (PRThread *thr_id)
int thread_resume (PRThread *thr_id)
void PR_VMS_Stub1 (void)
void PR_VMS_Stub2 (void)
void PR_VMS_Stub3 (void)
void PR_VMS_Stub4 (void)
void PR_VMS_Stub5 (void)
void PR_VMS_Stub6 (void)
void PR_VMS_Stub7 (void)
void PR_VMS_Stub8 (void)
void PR_VMS_Stub9 (void)
void PR_VMS_Stub10 (void)
void PR_VMS_Stub11 (void)
void PR_VMS_Stub12 (void)
void PR_VMS_Stub13 (void)
void PR_VMS_Stub14 (void)
void PR_VMS_Stub15 (void)
void PR_VMS_Stub16 (void)
void PR_VMS_Stub17 (void)
void PR_VMS_Stub18 (void)
void PR_VMS_Stub19 (void)
void PR_VMS_Stub20 (void)
void PR_VMS_Stub21 (void)
void PR_VMS_Stub22 (void)
void PR_VMS_Stub23 (void)
void PR_VMS_Stub24 (void)
void PR_VMS_Stub25 (void)
void PR_VMS_Stub26 (void)
void PR_VMS_Stub27 (void)
void PR_VMS_Stub28 (void)
void PR_VMS_Stub29 (void)
void PR_VMS_Stub30 (void)
void PR_VMS_Stub31 (void)
void PR_VMS_Stub32 (void)
void PR_VMS_Stub33 (void)
void PR_VMS_Stub34 (void)
void PR_VMS_Stub35 (void)
void PR_VMS_Stub36 (void)
void PR_VMS_Stub37 (void)
void PR_VMS_Stub38 (void)
void PR_VMS_Stub39 (void)
void PR_VMS_Stub40 (void)
void PR_VMS_Stub41 (void)
void PR_VMS_Stub42 (void)
void PR_VMS_Stub43 (void)
void PR_VMS_Stub44 (void)
void PR_VMS_Stub45 (void)
void PR_VMS_Stub46 (void)
void PR_VMS_Stub47 (void)
void PR_VMS_Stub48 (void)
void PR_VMS_Stub49 (void)
void PR_VMS_Stub50 (void)
void PR_VMS_Stub51 (void)
void PR_VMS_Stub52 (void)
void PR_VMS_Stub53 (void)

Function Documentation

PRStatus _MD_CREATE_THREAD ( PRThread thread,
void(*)(void *)  start,
PRThreadPriority  priority,
PRThreadScope  scope,
PRThreadState  state,
PRUint32  stackSize 
)

Definition at line 96 of file openvms.c.

{
    PR_NOT_REACHED("_MD_CREATE_THREAD should not be called for OSF1.");
       return PR_FAILURE;
}

Definition at line 40 of file openvms.c.

{
}
PRWord* _MD_HomeGCRegisters ( PRThread t,
int  isCurrent,
int np 
)

Definition at line 44 of file openvms.c.

{
#ifndef _PR_PTHREADS
    if (isCurrent) {
       (void) setjmp(CONTEXT(t));
    }
    *np = sizeof(CONTEXT(t)) / sizeof(PRWord);
    return (PRWord *) CONTEXT(t);
#else
       *np = 0;
       return NULL;
#endif
}

Definition at line 66 of file openvms.c.

{
       return PR_SUCCESS;
}
void _MD_SET_PRIORITY ( _MDThread thread,
PRUintn  newPri 
)

Definition at line 60 of file openvms.c.

{
    return;
}
PRStatus _MD_WAIT ( PRThread thread,
PRIntervalTime  ticks 
)

Definition at line 72 of file openvms.c.

{
    PR_ASSERT(!(thread->flags & _PR_GLOBAL_SCOPE));
    _PR_MD_SWITCH_CONTEXT(thread);
    return PR_SUCCESS;
}

Here is the call graph for this function:

Definition at line 80 of file openvms.c.

{
    if (thread) {
       PR_ASSERT(!(thread->flags & _PR_GLOBAL_SCOPE));
    }
    return PR_SUCCESS;
}

Definition at line 90 of file openvms.c.

{
    PR_NOT_REACHED("_MD_YIELD should not be called for OSF1.");
}

Definition at line 234 of file openvms.c.

{ }

Definition at line 243 of file openvms.c.

{ }

Definition at line 244 of file openvms.c.

{ }

Definition at line 245 of file openvms.c.

{ }

Definition at line 246 of file openvms.c.

{ }

Definition at line 247 of file openvms.c.

{ }

Definition at line 248 of file openvms.c.

{ }

Definition at line 249 of file openvms.c.

{ }

Definition at line 250 of file openvms.c.

{ }

Definition at line 251 of file openvms.c.

{ }

Definition at line 252 of file openvms.c.

{ }

Definition at line 235 of file openvms.c.

{ }

Definition at line 253 of file openvms.c.

{ }

Definition at line 254 of file openvms.c.

{ }

Definition at line 255 of file openvms.c.

{ }

Definition at line 256 of file openvms.c.

{ }

Definition at line 257 of file openvms.c.

{ }

Definition at line 258 of file openvms.c.

{ }

Definition at line 259 of file openvms.c.

{ }

Definition at line 260 of file openvms.c.

{ }

Definition at line 261 of file openvms.c.

{ }

Definition at line 262 of file openvms.c.

{ }

Definition at line 236 of file openvms.c.

{ }

Definition at line 263 of file openvms.c.

{ }

Definition at line 264 of file openvms.c.

{ }

Definition at line 265 of file openvms.c.

{ }

Definition at line 266 of file openvms.c.

{ }

Definition at line 267 of file openvms.c.

{ }

Definition at line 268 of file openvms.c.

{ }

Definition at line 269 of file openvms.c.

{ }

Definition at line 270 of file openvms.c.

{ }

Definition at line 271 of file openvms.c.

{ }

Definition at line 272 of file openvms.c.

{ }

Definition at line 237 of file openvms.c.

{ }

Definition at line 273 of file openvms.c.

{ }

Definition at line 274 of file openvms.c.

{ }

Definition at line 275 of file openvms.c.

{ }

Definition at line 276 of file openvms.c.

{ }

Definition at line 277 of file openvms.c.

{ }

Definition at line 278 of file openvms.c.

{ }

Definition at line 279 of file openvms.c.

{ }

Definition at line 280 of file openvms.c.

{ }

Definition at line 281 of file openvms.c.

{ }

Definition at line 282 of file openvms.c.

{ }

Definition at line 238 of file openvms.c.

{ }

Definition at line 283 of file openvms.c.

{ }

Definition at line 284 of file openvms.c.

{ }

Definition at line 285 of file openvms.c.

{ }

Definition at line 286 of file openvms.c.

{ }

Definition at line 239 of file openvms.c.

{ }

Definition at line 240 of file openvms.c.

{ }

Definition at line 241 of file openvms.c.

{ }

Definition at line 242 of file openvms.c.

{ }
int thread_resume ( PRThread thr_id)

Definition at line 199 of file openvms.c.

                                    {
    extern int pthread_resume_np(pthread_t thread);
    int res;

    res = pthread_resume_np (thr_id->id);
       
    thr_id->suspend |= PT_THREAD_RESUMED;

    return 0;
}
int thread_suspend ( PRThread thr_id)

Definition at line 174 of file openvms.c.

                                     {

    extern int pthread_suspend_np (
                     pthread_t                       thread,
                     __pthreadLongUint_t             *regs,
                     void                            *spare);

    __pthreadLongUint_t regs[34];
    int res;

    /*
    ** A return res < 0 indicates that the thread was suspended
    ** but register information could not be obtained
    */

    res = pthread_suspend_np(thr_id->id,&regs[0],0);
    if (res==0)
       thr_id->sp = (void *) regs[30]; 

    thr_id->suspend |= PT_THREAD_SUSPENDED;

    /* Always succeeds */
    return 0;
}