Re: cvs commit: src/sys/kern kern_thr.c syscalls.master src/sys/sys

2007-08-21 Thread Pawel Jakub Dawidek
On Mon, Aug 20, 2007 at 11:47:37AM -0700, Alfred Perlstein wrote: > * Matthew Dillon <[EMAIL PROTECTED]> [070820 11:43] wrote: > > We have a lwp_kill() system call that sends a signal to a thread within > > a process. It turns out to be fairly necessary for any sort of heavily > > inte

Re: cvs commit: src/sys/kern kern_thr.c syscalls.master src/sys/sys

2007-08-20 Thread Matt Olander
On Monday 20 August 2007 12:01 pm, Marc G. Fournier wrote: > --On Monday, August 20, 2007 12:51:19 -0600 Scott Long <[EMAIL PROTECTED]> > > wrote: > > I'm official out of this discussion. For the record, I have a lot of > > respect for the PC-BSD guys and I'm very happy that they are doing this >

Re: cvs commit: src/sys/kern kern_thr.c syscalls.master src/sys/sys

2007-08-20 Thread Matthew Dillon
We have a lwp_kill() system call that sends a signal to a thread within a process. It turns out to be fairly necessary for any sort of heavily integrated multi-threaded work. In our case we need it to be able to issue IPIs (aka SIGUSR1) to cpus within a SMP virtual kernel. in

Re: cvs commit: src/sys/kern kern_thr.c syscalls.master src/sys/sys

2007-08-20 Thread Marc G. Fournier
-BEGIN PGP SIGNED MESSAGE- Hash: SHA1 - --On Monday, August 20, 2007 12:51:19 -0600 Scott Long <[EMAIL PROTECTED]> wrote: > I'm official out of this discussion. For the record, I have a lot of respect > for the PC-BSD guys and I'm very happy that they are doing this > work, I was just

Re: cvs commit: src/sys/kern kern_thr.c syscalls.master src/sys/sys

2007-08-20 Thread Maxim Sobolev
Scott Long wrote: Having it as a loadable module that is essentially private to PC-BSD (though open source, of course) will lead to questions of why Wine works in PC-BSD and not FreeBSD. That's fine if your intention is to create a fork of FreeBSD, but I don't know if that's what you really wan

Re: cvs commit: src/sys/kern kern_thr.c syscalls.master src/sys/sys

2007-08-20 Thread Alfred Perlstein
* The Hermit Hacker <[EMAIL PROTECTED]> [070820 11:59] wrote: > > Just for the record here, I think that Scott did bring up a very valid point > in > what he had said ... Kris did mention 'PC-BSD including it even if FreeBSD > didn't' (or words to that effect), and Scott's response was only mea

Re: cvs commit: src/sys/kern kern_thr.c syscalls.master src/sys/sys

2007-08-20 Thread Scott Long
Alfred Perlstein wrote: * Scott Long <[EMAIL PROTECTED]> [070820 08:08] wrote: Having it as a loadable module that is essentially private to PC-BSD (though open source, of course) will lead to questions of why Wine works in PC-BSD and not FreeBSD. That's fine if your intention is to create a f

Re: cvs commit: src/sys/kern kern_thr.c syscalls.master src/sys/sys

2007-08-20 Thread Alfred Perlstein
* Matthew Dillon <[EMAIL PROTECTED]> [070820 11:43] wrote: > We have a lwp_kill() system call that sends a signal to a thread within > a process. It turns out to be fairly necessary for any sort of heavily > integrated multi-threaded work. In our case we need it to be able to > is

Re: cvs commit: src/sys/kern kern_thr.c syscalls.master src/sys/sys

2007-08-20 Thread Alfred Perlstein
Robert Watson <[EMAIL PROTECTED]>, Scott Long > ><[EMAIL PROTECTED]>,Daniel Eischen <[EMAIL PROTECTED]>,Tijl Coosemans > ><[EMAIL PROTECTED]>, David Xu <[EMAIL PROTECTED]>,[EMAIL PROTECTED], > >Xin LI <[EMAIL PROTECTED]>,[EMAIL PROTECTED], >

Re: cvs commit: src/sys/kern kern_thr.c syscalls.master src/sys/sys thr.h

2007-08-20 Thread Matt Reimer
On 8/19/07, Robert Watson <[EMAIL PROTECTED]> wrote: > > On Sat, 18 Aug 2007, Scott Long wrote: > > >> You can say that about a lot of APIs, but that doesn't mean we should add > >> them. This is a bit of a hack to satisfy one application (Wine) when there > >> are other (perhaps harder) ways to s

Re: cvs commit: src/sys/kern kern_thr.c syscalls.master src/sys/sys

2007-08-20 Thread Alexey Dokuchaev
On Mon, Aug 20, 2007 at 09:08:20AM -0600, Scott Long wrote: > Having it as a loadable module that is essentially private to PC-BSD > (though open source, of course) will lead to questions of why Wine works > in PC-BSD and not FreeBSD. Why not simply RUN_DEPEND on it in wine port? If that's not p

Re: cvs commit: src/sys/kern kern_thr.c syscalls.master src/sys/sys

2007-08-20 Thread Marc G. Fournier
Alfred Perlstein <[EMAIL PROTECTED]> >> >> Date: Mon, 20 Aug 2007 02:30:09 >> To:Kris Moore <[EMAIL PROTECTED]> >> Cc:Robert Watson <[EMAIL PROTECTED]>, Scott Long >> <[EMAIL PROTECTED]>,Daniel Eischen <[EMAIL PROTECTED]>,Tijl Coosemans >

Re: cvs commit: src/sys/kern kern_thr.c syscalls.master src/sys/sys

2007-08-20 Thread Kris Moore
Scott Long wrote: Having it as a loadable module that is essentially private to PC-BSD (though open source, of course) will lead to questions of why Wine works in PC-BSD and not FreeBSD. That's fine if your intention is to create a fork of FreeBSD, but I don't know if that's what you really wan

Re: cvs commit: src/sys/kern kern_thr.c syscalls.master src/sys/sys

2007-08-20 Thread Scott Long
D], Xin LI <[EMAIL PROTECTED]>,[EMAIL PROTECTED], [EMAIL PROTECTED],cvs-all@FreeBSD.org Subject: Re: cvs commit: src/sys/kern kern_thr.c syscalls.master src/sys/sys * Kris Moore <[EMAIL PROTECTED]> [070819 08:50] wrote: Even if you decide to only add this new functionality to FreeBSD 7.x,

Re: cvs commit: src/sys/kern kern_thr.c syscalls.master src/sys/sys

2007-08-20 Thread Alfred Perlstein
* Kris Moore <[EMAIL PROTECTED]> [070819 08:50] wrote: > > Even if you decide to only add this new functionality to FreeBSD 7.x, > that's fine with us. Our next release of PC-BSD will be our last based > on FreeBSD 6.x before moving to 7. We're committed to shipping with the > patch Tijl wrote,

Re: cvs commit: src/sys/kern kern_thr.c syscalls.master src/sys/sys

2007-08-19 Thread Doug Barton
On Sun, 19 Aug 2007, Robert Watson wrote: The underlying requirement here is for Wine to be able to suspend threads of the emulation process -- [ snip ] As a more portable solution, sigqueue(2) can be used -- this is a POSIX realtime signaling interface that, among other things, allows a dat

Re: cvs commit: src/sys/kern kern_thr.c syscalls.master src/sys/sys (fwd)

2007-08-19 Thread Doug Barton
On Sun, 19 Aug 2007, Robert Watson wrote: The underlying requirement here is for Wine to be able to suspend threads of the emulation process -- [ snip ] As a more portable solution, sigqueue(2) can be used -- this is a POSIX realtime signaling interface that, among other things, allows a dat

Re: cvs commit: src/sys/kern kern_thr.c syscalls.master src/sys/sys

2007-08-19 Thread Robert Watson
On Sun, 19 Aug 2007, Robert Watson wrote: I think the misunderstanding here is in thinking that Wine is an application that can program to the pthreads API and behave in a normal way. Instead, think of it as including its own threads library implementing Windows threading behavior. On the wh

Re: cvs commit: src/sys/kern kern_thr.c syscalls.master src/sys/sys

2007-08-19 Thread Poul-Henning Kamp
In message <[EMAIL PROTECTED]>, Robert Watson writes: >Tijl's example of having aligned thread IDs for use between ptrace(2) and the >thr_*(2) system calls is a particularly good example of a case where the clean >pthreads abstraction (which has no notion of how to interact with debuggers) Cal

Re: cvs commit: src/sys/kern kern_thr.c syscalls.master src/sys/sys

2007-08-19 Thread Robert Watson
On Sun, 19 Aug 2007, Scott Long wrote: Robert's comparison to Linux is only half-valid. There's really no reason to hold linux's clone/vfork threads up as a model to emulate via a new first-class interface into the kernel. If you want to emulate it, compile your app against the linux-thread

Re: cvs commit: src/sys/kern kern_thr.c syscalls.master src/sys/sys

2007-08-19 Thread Robert Watson
On Sun, 19 Aug 2007, Kris Moore wrote: That being said, most of the technical details are a bit over my head, but I will add my $0.02 to this. Whatever the solution, there needs to be a working solution in the end. If there's a better, more portable way to do this, then by all means lets get i

Re: cvs commit: src/sys/kern kern_thr.c syscalls.master src/sys/sys

2007-08-19 Thread Scott Long
Kris Moore wrote: Robert Watson wrote: This work was done by Tijl at the request of the PC-BSD guys, who would like to be able to run windows applications out of the box on PC-BSD for their next release (impending). David then reviewed and committed the patch giving it his approval. The goal

Re: cvs commit: src/sys/kern kern_thr.c syscalls.master src/sys/sys

2007-08-19 Thread Tijl Coosemans
On Sunday 19 August 2007 16:53:13 Daniel Eischen wrote: > On Sun, 19 Aug 2007, Alexandre Julliard wrote: >> Daniel Eischen <[EMAIL PROTECTED]> writes: >>> FreeBSD as well as Solaris and Linux (it looks like Linux only >>> allows a thread group to be signaled) have gotten along without >>> this API,

Re: cvs commit: src/sys/kern kern_thr.c syscalls.master src/sys/sys

2007-08-19 Thread Tijl Coosemans
On Sunday 19 August 2007 16:44:09 Daniel Eischen wrote: > Thread id's (as visible to an application) are not required to be > something that is known by the kernel. They certainly are not in > libkse and libc_r, and I don't think they are in libthr either. > This API won't work with libkse (or lib

Re: cvs commit: src/sys/kern kern_thr.c syscalls.master src/sys/sys

2007-08-19 Thread Kris Moore
Robert Watson wrote: This work was done by Tijl at the request of the PC-BSD guys, who would like to be able to run windows applications out of the box on PC-BSD for their next release (impending). David then reviewed and committed the patch giving it his approval. The goal here was to avoid

Re: cvs commit: src/sys/kern kern_thr.c syscalls.master src/sys/sys

2007-08-19 Thread Daniel Eischen
On Sun, 19 Aug 2007, Alexandre Julliard wrote: Daniel Eischen <[EMAIL PROTECTED]> writes: FreeBSD as well as Solaris and Linux (it looks like Linux only allows a thread group to be signaled) have gotten along without this API, and Wine seems to be the only target for this syscall. Actually,

Re: cvs commit: src/sys/kern kern_thr.c syscalls.master src/sys/sys

2007-08-19 Thread Daniel Eischen
On Sun, 19 Aug 2007, Robert Watson wrote: On Sat, 18 Aug 2007, Daniel Eischen wrote: Stupid question, but ... why not? First off, do you know for a fact that Wine is the only app out there that needs the ability to kill off a thread in a seperate process, or has nobody in the past cared eno

Re: cvs commit: src/sys/kern kern_thr.c syscalls.master src/sys/sys

2007-08-19 Thread Alexandre Julliard
Daniel Eischen <[EMAIL PROTECTED]> writes: > FreeBSD as well as Solaris and Linux (it looks like Linux only allows a > thread group to be signaled) have gotten along without this API, and > Wine seems to be the only target for this syscall. Actually, Linux, Solaris, and Mac OS X all export that f

Re: cvs commit: src/sys/kern kern_thr.c syscalls.master src/sys/sys thr.h

2007-08-19 Thread Robert Watson
On Sat, 18 Aug 2007, Scott Long wrote: You can say that about a lot of APIs, but that doesn't mean we should add them. This is a bit of a hack to satisfy one application (Wine) when there are other (perhaps harder) ways to skin the cat. We certainly don't want anything else using this API,

Re: cvs commit: src/sys/kern kern_thr.c syscalls.master src/sys/sys

2007-08-19 Thread Robert Watson
On Sat, 18 Aug 2007, Daniel Eischen wrote: Stupid question, but ... why not? First off, do you know for a fact that Wine is the only app out there that needs the ability to kill off a thread in a seperate process, or has nobody in the past cared enough to see other apps ported from Linux -> F

Re: cvs commit: src/sys/kern kern_thr.c syscalls.master src/sys/sys thr.h

2007-08-18 Thread Alfred Perlstein
* Daniel Eischen <[EMAIL PROTECTED]> [070818 17:47] wrote: > > I would rather just use sigqueue in 7.0 if necessary and drop support > for some set of applications run under Wine in 6.0. We shouldn't be > adding hacks like this to suit just one application... not to pick on you specifically Dani

Re: cvs commit: src/sys/kern kern_thr.c syscalls.master src/sys/sys

2007-08-18 Thread Daniel Eischen
On Sat, 18 Aug 2007, Marc G. Fournier wrote: - --On Saturday, August 18, 2007 20:51:57 -0400 Daniel Eischen <[EMAIL PROTECTED]> wrote: You can say that about a lot of APIs, but that doesn't mean we should add them. This is a bit of a hack to satisfy one application (Wine) when there are other

Re: cvs commit: src/sys/kern kern_thr.c syscalls.master src/sys/sys thr.h

2007-08-18 Thread Scott Long
Daniel Eischen wrote: On Sat, 18 Aug 2007, Robert Watson wrote: On Sat, 18 Aug 2007, Tijl Coosemans wrote: Perhaps it should be stressed in documentation that this syscall is only meant for Wine and to be removed at some point when better solutions become available. I want to test this sigq

Re: cvs commit: src/sys/kern kern_thr.c syscalls.master src/sys/sys

2007-08-18 Thread Marc G. Fournier
-BEGIN PGP SIGNED MESSAGE- Hash: SHA1 - --On Saturday, August 18, 2007 20:51:57 -0400 Daniel Eischen <[EMAIL PROTECTED]> wrote: > You can say that about a lot of APIs, but that doesn't mean we should add > them. This is a bit of a hack to satisfy one application (Wine) when there > ar

Re: cvs commit: src/sys/kern kern_thr.c syscalls.master src/sys/sys thr.h

2007-08-18 Thread Daniel Eischen
On Sat, 18 Aug 2007, Robert Watson wrote: On Sat, 18 Aug 2007, Tijl Coosemans wrote: Perhaps it should be stressed in documentation that this syscall is only meant for Wine and to be removed at some point when better solutions become available. I want to test this sigqueue solution some more

Re: cvs commit: src/sys/kern kern_thr.c syscalls.master src/sys/sys thr.h

2007-08-18 Thread Daniel Eischen
On Sat, 18 Aug 2007, Tijl Coosemans wrote: On Friday 17 August 2007 04:33:07 Daniel Eischen wrote: Yes, I know it's not needed by libthr :-) I would think you could use mq_open(), mq_notify() with sigev_notify = SIGEV_SIGNAL, etc. When the receiving process gets the signal, it reads the messag

Re: cvs commit: src/sys/kern kern_thr.c syscalls.master src/sys/sys thr.h

2007-08-18 Thread Robert Watson
On Sat, 18 Aug 2007, Tijl Coosemans wrote: To be honest, I'm not entirely fond of adding this syscall either, but from an engineering point of view, it's really the easiest and cheapest solution right now. POSIX message queues aren't needed. Sigqueue() with sigval set to the thread id would

Re: cvs commit: src/sys/kern kern_thr.c syscalls.master src/sys/sys thr.h

2007-08-18 Thread Tijl Coosemans
On Friday 17 August 2007 04:33:07 Daniel Eischen wrote: > On Friday 17 August 2007 03:42:26 David Xu wrote: >> Daniel Eischen wrote: >>> On Thu, 16 Aug 2007, Xin LI wrote: Daniel Eischen wrote: > On Thu, 16 Aug 2007, David Xu wrote: >> davidxu 2007-08-16 05:26:42 UTC >> >>

Re: cvs commit: src/sys/kern kern_thr.c syscalls.master src/sys/sys thr.h

2007-08-16 Thread Daniel Eischen
On Fri, 17 Aug 2007, David Xu wrote: Daniel Eischen wrote: I realize what it's for, and I don't agree that it belongs in the tree. There are other forms of interprocess communication, pipes, sockets, even msg queues. I'm sure you can find a few ways to send a message to a process to say "sen

Re: cvs commit: src/sys/kern kern_thr.c syscalls.master src/sys/sys thr.h

2007-08-16 Thread David Xu
Daniel Eischen wrote: On Thu, 16 Aug 2007, Xin LI wrote: Daniel Eischen wrote: On Thu, 16 Aug 2007, David Xu wrote: davidxu 2007-08-16 05:26:42 UTC FreeBSD src repository Modified files: sys/kern kern_thr.c syscalls.master sys/sys thr.h Log: Add thr_

Re: cvs commit: src/sys/kern kern_thr.c syscalls.master src/sys/sys thr.h

2007-08-16 Thread Daniel Eischen
On Thu, 16 Aug 2007, Xin LI wrote: Daniel Eischen wrote: On Thu, 16 Aug 2007, David Xu wrote: davidxu 2007-08-16 05:26:42 UTC FreeBSD src repository Modified files: sys/kern kern_thr.c syscalls.master sys/sys thr.h Log: Add thr_kill2 syscall which send

Re: cvs commit: src/sys/kern kern_thr.c syscalls.master src/sys/sys thr.h

2007-08-16 Thread Xin LI
Daniel Eischen wrote: On Thu, 16 Aug 2007, David Xu wrote: davidxu 2007-08-16 05:26:42 UTC FreeBSD src repository Modified files: sys/kern kern_thr.c syscalls.master sys/sys thr.h Log: Add thr_kill2 syscall which sends a signal to a thread in another pr

Re: cvs commit: src/sys/kern kern_thr.c syscalls.master src/sys/sys thr.h

2007-08-16 Thread Daniel Eischen
On Thu, 16 Aug 2007, David Xu wrote: davidxu 2007-08-16 05:26:42 UTC FreeBSD src repository Modified files: sys/kern kern_thr.c syscalls.master sys/sys thr.h Log: Add thr_kill2 syscall which sends a signal to a thread in another process. I do not think

Re: cvs commit: src/sys/kern kern_thr.c syscalls.master src/sys/sys thr.h

2007-08-16 Thread Kostik Belousov
On Thu, Aug 16, 2007 at 05:26:42AM +, David Xu wrote: > davidxu 2007-08-16 05:26:42 UTC > > FreeBSD src repository > > Modified files: > sys/kern kern_thr.c syscalls.master > sys/sys thr.h > Log: > Add thr_kill2 syscall which sends a signal to a

cvs commit: src/sys/kern kern_thr.c syscalls.master src/sys/sys thr.h

2007-08-15 Thread David Xu
davidxu 2007-08-16 05:26:42 UTC FreeBSD src repository Modified files: sys/kern kern_thr.c syscalls.master sys/sys thr.h Log: Add thr_kill2 syscall which sends a signal to a thread in another process. Submitted by: Tijl Coosemans tijl at ulyssis