Synchronize on NetBSD-CVS (2013/12/1 12:00:00 UTC)
- Fix for possible unset uid/gid in toproto
- Fix for default mtree style
- Update libelf
- Importing libexecinfo
- Resynchronize GCC, mpc, gmp, mpfr
- build.sh: Replace params with show-params.
This has been done as the make target has been renamed in the same
way, while a new target named params has been added. This new
target generates a file containing all the parameters, instead of
printing it on the console.
- Update test48 with new etc/services (Fix by Ben Gras <ben@minix3.org)
get getservbyport() out of the inner loop
Change-Id: Ie6ad5226fa2621ff9f0dee8782ea48f9443d2091
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
/* $NetBSD: callcontext.c,v 1.23 2008/08/11 16:23:37 pooka Exp $ */
|
||||
/* $NetBSD: callcontext.c,v 1.27 2011/12/06 21:15:39 skrll Exp $ */
|
||||
|
||||
/*
|
||||
* Copyright (c) 2006, 2007, 2008 Antti Kantee. All Rights Reserved.
|
||||
@@ -30,7 +30,7 @@
|
||||
|
||||
#include <sys/cdefs.h>
|
||||
#if !defined(lint)
|
||||
__RCSID("$NetBSD: callcontext.c,v 1.23 2008/08/11 16:23:37 pooka Exp $");
|
||||
__RCSID("$NetBSD: callcontext.c,v 1.27 2011/12/06 21:15:39 skrll Exp $");
|
||||
#endif /* !lint */
|
||||
|
||||
#include <sys/types.h>
|
||||
@@ -38,13 +38,13 @@ __RCSID("$NetBSD: callcontext.c,v 1.23 2008/08/11 16:23:37 pooka Exp $");
|
||||
|
||||
#include <assert.h>
|
||||
#include <errno.h>
|
||||
#include <puffs.h>
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
#include <ucontext.h>
|
||||
#include <unistd.h>
|
||||
|
||||
#include "puffs.h"
|
||||
#include "puffs_priv.h"
|
||||
|
||||
#if 0
|
||||
@@ -78,6 +78,14 @@ puffs_cc_yield(struct puffs_cc *pcc)
|
||||
|
||||
assert(puffs_fakecc == 0);
|
||||
|
||||
if ((~pcc->pcc_flags & (PCC_BORROWED|PCC_DONE)) == 0) {
|
||||
pcc->pcc_flags &= ~(PCC_BORROWED|PCC_DONE);
|
||||
/*
|
||||
* see the XXX comment in puffs__cc_cont
|
||||
*/
|
||||
puffs__cc_destroy(pcc, 1);
|
||||
setcontext(&pcc->pcc_uc_ret);
|
||||
}
|
||||
pcc->pcc_flags &= ~PCC_BORROWED;
|
||||
|
||||
/* romanes eunt domus */
|
||||
@@ -110,7 +118,7 @@ puffs__cc_cont(struct puffs_cc *pcc)
|
||||
DPRINTF(("puffs__cc_cont: pcc %p, mycc %p\n", pcc, mycc));
|
||||
|
||||
/*
|
||||
* XXX: race between setcontenxt() and recycle if
|
||||
* XXX: race between setcontext() and recycle if
|
||||
* we go multithreaded
|
||||
*/
|
||||
puffs__cc_destroy(mycc, 1);
|
||||
@@ -288,6 +296,7 @@ puffs__cc_destroy(struct puffs_cc *pcc, int nonuke)
|
||||
{
|
||||
struct puffs_usermount *pu = pcc->pcc_pu;
|
||||
|
||||
pcc->pcc_flags &= ~PCC_HASCALLER;
|
||||
assert(pcc->pcc_flags == 0);
|
||||
assert(!puffs_fakecc);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user