(lwpReschedule): Remove code permitting SIGALRM to be catched safely,
because there's no handler for it. (LCOUNT, oldmask): Remove. (lwpEntryPoint): Don't initialize oldmask. Should have been done in lwpInitSystem() anyway.
This commit is contained in:
parent
5df2ae0da7
commit
24b56b9365
2 changed files with 0 additions and 23 deletions
|
@ -35,7 +35,6 @@
|
||||||
#include <config.h>
|
#include <config.h>
|
||||||
|
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#include <signal.h>
|
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
#include "lwp.h"
|
#include "lwp.h"
|
||||||
|
@ -49,8 +48,6 @@ char **LwpContextPtr;
|
||||||
int LwpMaxpri = 0; /* maximum priority so far */
|
int LwpMaxpri = 0; /* maximum priority so far */
|
||||||
int LwpStackGrowsDown;
|
int LwpStackGrowsDown;
|
||||||
|
|
||||||
static sigset_t oldmask;
|
|
||||||
|
|
||||||
static void lwpStackCheckInit(struct lwpProc *newp);
|
static void lwpStackCheckInit(struct lwpProc *newp);
|
||||||
static void lwpStackCheck(struct lwpProc *newp);
|
static void lwpStackCheck(struct lwpProc *newp);
|
||||||
static void lwpStackCheckUsed(struct lwpProc *newp);
|
static void lwpStackCheckUsed(struct lwpProc *newp);
|
||||||
|
@ -71,21 +68,12 @@ growsdown(void *x)
|
||||||
void
|
void
|
||||||
lwpReschedule(void)
|
lwpReschedule(void)
|
||||||
{
|
{
|
||||||
static int lcount = LCOUNT;
|
|
||||||
static struct lwpProc *nextp;
|
static struct lwpProc *nextp;
|
||||||
static int i;
|
static int i;
|
||||||
static sigset_t tmask;
|
|
||||||
|
|
||||||
if (LwpCurrent && (LwpCurrent->flags & LWP_STACKCHECK)) {
|
if (LwpCurrent && (LwpCurrent->flags & LWP_STACKCHECK)) {
|
||||||
lwpStackCheck(LwpCurrent);
|
lwpStackCheck(LwpCurrent);
|
||||||
}
|
}
|
||||||
if (!--lcount) {
|
|
||||||
int p = lwpSetPriority(LWP_MAX_PRIO - 1);
|
|
||||||
lcount = LCOUNT;
|
|
||||||
sigprocmask(SIG_SETMASK, &oldmask, &tmask);
|
|
||||||
sigprocmask(SIG_SETMASK, &tmask, &oldmask);
|
|
||||||
LwpCurrent->pri = p;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* destroy dead threads */
|
/* destroy dead threads */
|
||||||
lwpStatus(LwpCurrent, "Cleaning dead queue");
|
lwpStatus(LwpCurrent, "Cleaning dead queue");
|
||||||
|
@ -132,13 +120,7 @@ lwpReschedule(void)
|
||||||
void
|
void
|
||||||
lwpEntryPoint(void)
|
lwpEntryPoint(void)
|
||||||
{
|
{
|
||||||
sigset_t set;
|
|
||||||
|
|
||||||
sigemptyset(&set);
|
|
||||||
sigaddset(&set, SIGALRM);
|
|
||||||
sigprocmask(SIG_SETMASK, &set, &oldmask);
|
|
||||||
*LwpContextPtr = LwpCurrent->ud;
|
*LwpContextPtr = LwpCurrent->ud;
|
||||||
|
|
||||||
lwpStatus(LwpCurrent, "starting at entry point");
|
lwpStatus(LwpCurrent, "starting at entry point");
|
||||||
(*LwpCurrent->entry)(LwpCurrent->ud);
|
(*LwpCurrent->entry)(LwpCurrent->ud);
|
||||||
lwpExit();
|
lwpExit();
|
||||||
|
|
|
@ -41,11 +41,6 @@
|
||||||
#include <setjmp.h>
|
#include <setjmp.h>
|
||||||
#endif /* !UCONTEXT */
|
#endif /* !UCONTEXT */
|
||||||
|
|
||||||
/* `liveness' counter: check signals every `n' visits to the scheduler */
|
|
||||||
/* note: the lower this value, the more responsive the system but the */
|
|
||||||
/* more inefficient the context switch time */
|
|
||||||
#define LCOUNT -1
|
|
||||||
|
|
||||||
/* process control block. do *not* change the position of context */
|
/* process control block. do *not* change the position of context */
|
||||||
struct lwpProc {
|
struct lwpProc {
|
||||||
#ifdef UCONTEXT
|
#ifdef UCONTEXT
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue