svn commit: r226779 - user/adrian/if_ath_tx/sys/kern
Adrian Chadd
adrian at FreeBSD.org
Wed Oct 26 02:28:34 UTC 2011
Author: adrian
Date: Wed Oct 26 02:28:33 2011
New Revision: 226779
URL: http://svn.freebsd.org/changeset/base/226779
Log:
Fix some bad merging.
Modified:
user/adrian/if_ath_tx/sys/kern/kern_fork.c
user/adrian/if_ath_tx/sys/kern/kern_rctl.c
user/adrian/if_ath_tx/sys/kern/subr_kdb.c
user/adrian/if_ath_tx/sys/kern/subr_syscall.c
user/adrian/if_ath_tx/sys/kern/sys_procdesc.c
Modified: user/adrian/if_ath_tx/sys/kern/kern_fork.c
==============================================================================
--- user/adrian/if_ath_tx/sys/kern/kern_fork.c Wed Oct 26 02:26:42 2011 (r226778)
+++ user/adrian/if_ath_tx/sys/kern/kern_fork.c Wed Oct 26 02:28:33 2011 (r226779)
@@ -819,25 +819,6 @@ fork1(struct thread *td, int flags, int
}
#endif
-#ifdef PROCDESC
- /*
- * If required, create a process descriptor in the parent first; we
- * will abandon it if something goes wrong. We don't finit() until
- * later.
- */
- if (flags & RFPROCDESC) {
- error = falloc(td, &fp_procdesc, procdescp, 0);
- if (error != 0) {
-#ifdef RACCT
- PROC_LOCK(p1);
- racct_sub(p1, RACCT_NPROC, 1);
- PROC_UNLOCK(p1);
-#endif
- return (error);
- }
- }
-#endif
-
mem_charged = 0;
vm2 = NULL;
if (pages == 0)
Modified: user/adrian/if_ath_tx/sys/kern/kern_rctl.c
==============================================================================
--- user/adrian/if_ath_tx/sys/kern/kern_rctl.c Wed Oct 26 02:26:42 2011 (r226778)
+++ user/adrian/if_ath_tx/sys/kern/kern_rctl.c Wed Oct 26 02:28:33 2011 (r226779)
@@ -379,17 +379,6 @@ rctl_enforce(struct proc *p, int resourc
rule->rr_action));
/*
- * We're supposed to send a signal, but the process
- * is not fully initialized yet, probably because we
- * got called from fork1(). For now just deny the
- * allocation instead.
- */
- if (p->p_state != PRS_NORMAL) {
- should_deny = 1;
- continue;
- }
-
- /*
* We're using the fact that RCTL_ACTION_SIG* values
* are equal to their counterparts from sys/signal.h.
*/
Modified: user/adrian/if_ath_tx/sys/kern/subr_kdb.c
==============================================================================
--- user/adrian/if_ath_tx/sys/kern/subr_kdb.c Wed Oct 26 02:26:42 2011 (r226778)
+++ user/adrian/if_ath_tx/sys/kern/subr_kdb.c Wed Oct 26 02:28:33 2011 (r226779)
@@ -29,7 +29,6 @@ __FBSDID("$FreeBSD$");
#include "opt_kdb.h"
#include "opt_stack.h"
-#include "opt_watchdog.h"
#include <sys/param.h>
#include <sys/systm.h>
@@ -42,9 +41,6 @@ __FBSDID("$FreeBSD$");
#include <sys/smp.h>
#include <sys/stack.h>
#include <sys/sysctl.h>
-#ifdef SW_WATCHDOG
-#include <sys/watchdog.h>
-#endif
#include <machine/kdb.h>
#include <machine/pcb.h>
@@ -596,9 +592,6 @@ kdb_trap(int type, int code, struct trap
cpuset_t other_cpus;
#endif
struct kdb_dbbe *be;
-#ifdef SW_WATCHDOG
- u_int wdoglvt;
-#endif
register_t intr;
int handled;
@@ -612,10 +605,6 @@ kdb_trap(int type, int code, struct trap
intr = intr_disable();
-#ifdef SW_WATCHDOG
- wdoglvt = wdog_kern_last_timeout();
- wdog_kern_pat(WD_TO_NEVER);
-#endif
#ifdef SMP
other_cpus = all_cpus;
CPU_CLR(PCPU_GET(cpuid), &other_cpus);
@@ -647,9 +636,6 @@ kdb_trap(int type, int code, struct trap
#ifdef SMP
restart_cpus(stopped_cpus);
#endif
-#ifdef SW_WATCHDOG
- wdog_kern_pat(wdoglvt);
-#endif
intr_restore(intr);
Modified: user/adrian/if_ath_tx/sys/kern/subr_syscall.c
==============================================================================
--- user/adrian/if_ath_tx/sys/kern/subr_syscall.c Wed Oct 26 02:26:42 2011 (r226778)
+++ user/adrian/if_ath_tx/sys/kern/subr_syscall.c Wed Oct 26 02:28:33 2011 (r226779)
@@ -204,9 +204,17 @@ syscallret(struct thread *td, int error,
* is not the case, this code will need to be revisited.
*/
STOPEVENT(p, S_SCX, sa->code);
- PTRACESTOP_SC(p, td, S_PT_SCX);
if (traced || (td->td_dbgflags & (TDB_EXEC | TDB_FORK)) != 0) {
PROC_LOCK(p);
+ /*
+ * If tracing the execed process, trap to the debugger
+ * so that breakpoints can be set before the program
+ * executes. If debugger requested tracing of syscall
+ * returns, do it now too.
+ */
+ if (traced && ((td->td_dbgflags & TDB_EXEC) != 0 ||
+ (p->p_stops & S_PT_SCX) != 0))
+ ptracestop(td, SIGTRAP);
td->td_dbgflags &= ~(TDB_SCX | TDB_EXEC | TDB_FORK);
PROC_UNLOCK(p);
}
Modified: user/adrian/if_ath_tx/sys/kern/sys_procdesc.c
==============================================================================
--- user/adrian/if_ath_tx/sys/kern/sys_procdesc.c Wed Oct 26 02:26:42 2011 (r226778)
+++ user/adrian/if_ath_tx/sys/kern/sys_procdesc.c Wed Oct 26 02:28:33 2011 (r226779)
@@ -206,7 +206,7 @@ out:
* System call to return the pid of a process given its process descriptor.
*/
int
-pdgetpid(struct thread *td, struct pdgetpid_args *uap)
+sys_pdgetpid(struct thread *td, struct pdgetpid_args *uap)
{
pid_t pid;
int error;
@@ -387,7 +387,7 @@ procdesc_close(struct file *fp, struct t
p->p_sigparent = SIGCHLD;
proc_reparent(p, initproc);
if ((pd->pd_flags & PD_DAEMON) == 0)
- psignal(p, SIGKILL);
+ kern_psignal(p, SIGKILL);
PROC_UNLOCK(p);
sx_xunlock(&proctree_lock);
}
@@ -515,7 +515,7 @@ procdesc_chown(struct file *fp, uid_t ui
#else /* !PROCDESC */
int
-pdgetpid(struct thread *td, struct pdgetpid_args *uap)
+sys_pdgetpid(struct thread *td, struct pdgetpid_args *uap)
{
return (ENOSYS);
More information about the svn-src-user
mailing list