From: Gareth H. <ga...@va...> - 2001-03-13 01:55:00
|
Allen Akin wrote: > > On Mon, Mar 12, 2001 at 08:39:30PM -0500, Josh Vanderhoof wrote: > | ... You could mprotect() the page after the DMA buffer > | to PROT_NONE and install a SIGSEGV handler that flushes the buffer if > | the SIGSEGV was on the end of the DMA buffer. Then you can just let > | Vertex3f segfault when it uses the buffer up. > > I haven't used the POSIX signalling system, so please pardon an > uninformed question. We couldn't afford to install a short-term > signal handler each time Vertex3f is called; it would be cheaper just > to test for overflow. However, any handler installed long-term by the > driver could interfere with a handler installed by the application. > Is there a good way to work around that problem? I agree. And yes, just test for buffer overflow :-) Still, it's a neat idea. -- Gareth |