|
From: Eric P. <eri...@wa...> - 2006-02-13 17:37:05
|
Tom Hughes wrote: > In message <43F...@wa...> > Eric Pouech <eri...@wa...> wrote: > > >>1/ trapno in sigframe (vg-trapno.diff) >>(already posted in the bug database, but enhanced from previous >>post). This patch sets the trapno field in sigframe structure. > > > I did look at that bug yesterday but I'm not a big fan of your > solution and I'm trying to come up with a better approach. > > How accurate is the mapping you provided - given that you are trying > to go backwards from signal number/reason to trap number is that > actually a reversible mapping? or does the kernel map multiple trap > numbers to a single signal+reason combination in some cases? I dunno (I do have the same thoughts about it). My point was not to make a 100% accurate patch, but at least to show the areas that needed to be improved. IMO, the best solution would be not to ask for a RT signal handler if the user doesn't ask for (there's nothing to be done here, just passing the information), but it complicates a bit the signal handling code on V side. >>2/ handling ESP change in sig handler (vg-sig.diff) >>This patch tries to fetch the cases where a sig handler changes ESP in >>ucontext, and lets V know about it. Ok, it's a bit black magic, but it >>prevents a tons of warnings. I only wrote it for old signal frame >>signatures, but it's rather straightforward to implement it to RT >>signal handlers. > > > Can you put this on the bug tracker so we don't lose it please. Done >>3/ disabled support for tkill (vg-tkill.diff) >>This patch (partly) reenables tkill syscall under >>x86-linux. Basically, Wine is made to run either under (NPTL) pthread >>support, or old kernel thread support. We use tkill, which is >>transparent whatever the thread system we're running on (pthread or >>kthread). > > > I think I've got your post in valgrind-users about this marked to > be looked at when I get a chance, but once again putting it on the > bug tracker is a better idea. Not sure I did post something to vg-users :-/ Done for putting it on the bug tracker. > I will look at this, but I believe tkill is deprecated as it is > potentially dangerous and that tgkill is the preferred call now > where it is available as it ensures that you can only signal your > own threads. Yes, but it won't work on Linux < 2.6. So, we need to keep using tkill (at least on those kernels). I'll upgrade Wine to use tgkill on >= 2.6, that's a prefered solution. A+ -- Eric Pouech |