Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 14 Aug 2002 22:59:04 +1000
From:      Tim Robbins <tjr@FreeBSD.ORG>
To:        Terry Lambert <tlambert2@mindspring.com>
Cc:        current@FreeBSD.ORG
Subject:   Re: cvs commit: src/sys/kern kern_sig.c (fwd)
Message-ID:  <20020814225904.A60537@dilbert.robbins.dropbear.id.au>
In-Reply-To: <3D59FE8E.298A4AE5@mindspring.com>; from tlambert2@mindspring.com on Tue, Aug 13, 2002 at 11:54:06PM -0700
References:  <20020813233813.77899.qmail@web20907.mail.yahoo.com> <3D599E84.1AF6FEB4@mindspring.com> <20020814150238.B40787@dilbert.robbins.dropbear.id.au> <3D59FE8E.298A4AE5@mindspring.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On Tue, Aug 13, 2002 at 11:54:06PM -0700, Terry Lambert wrote:

> Tim Robbins wrote:
> > On Tue, Aug 13, 2002 at 05:04:20PM -0700, Terry Lambert wrote:
> > > Both different reports have been from Tim Robbins.  It may
> > > be that he has a local problem, and that his local problem
> > > is greatly confusing this discussion.
> > 
> > Unfortunately, this is not a local problem -- I can reproduce it locally
> > (i386, world/kernel from yesterday), on panther.freebsd.org (sparc64, kernel
> > built July 19), and beast.freebsd.org (alpha, also built July 19). I cannot
> > reproduce it on ref5 (i386, built July 1).
> 
> If you update to the very most recent current, do the problems
> occur?  It's currently August 13th, which means that you are a
> month behind on the machines with the problem, and a month and
> a half behind on the other.

The kernel/world I am running locally is less than 24 hours old.

> 
> If both problems still occur with the most recent current, do
> they go away if you back out *just* the PAM changes?

This has nothing to do with PAM. Here is a simple program which behaves
differently between 4.6-RELEASE and 5.0-CURRENT. I don't know which
of the two behaviours is correct.


#include <sys/types.h>
#include <sys/wait.h>
#include <err.h>
#include <stdio.h>
#include <signal.h>
#include <string.h>
#include <unistd.h>

int
main(int argc, char *argv[])
{
	pid_t pid;
	int status;

	switch (pid = vfork()) {
	case -1:
		err(1, "fork");
	case 0:
		execl("/bin/csh", "csh", NULL);
		err(1, "csh");
	default:
		fprintf(stderr, "(waiter) waiting\n");
		while (waitpid(pid, &status, WUNTRACED) != -1 && WIFSTOPPED(status)) {
			fprintf(stderr, "(waiter) stopping ourself\n");
			killpg(0, SIGSTOP);
			fprintf(stderr, "(waiter) continuing child\n");
			killpg(pid, SIGCONT);
			fprintf(stderr, "(waiter) waiting\n");
		}
	}

	return (0);
}

%%

4.6.1-RELEASE-p10, OpenBSD 3.0:

%set prompt="root% "
root% ./waiter
(waiter) waiting
%suspend

Suspended
root% fg
./waiter
%

5.0-CURRENT built August 14 (today):

%set prompt="root% "
root% ./waiter
(waiter) waiting
%suspend

Suspended
root% fg
./waiter
%(waiter) stopping ourself

Suspended (signal)
root% 


Linux behaves differently to both, but the change in behaviour does not
seem to make it stop working.


Tim

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-current" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20020814225904.A60537>