This is the mail archive of the
cygwin
mailing list for the Cygwin project.
Re: 1.5.19: changes have broken Qt3
- From: Brian Dessent <brian at dessent dot net>
- To: cygwin at cygwin dot com
- Date: Tue, 23 May 2006 10:30:56 -0700
- Subject: Re: 1.5.19: changes have broken Qt3
- References: <447341F0.5050105@freenet.de>
- Reply-to: cygwin at cygwin dot com
Ralf Habacker wrote:
> C:\cygwin\home\Habacker\src\pthreads-snap-2005-03-08\tests>strace
> mutex1n | grep C0000005
> - --- Process 4872, exception C0000005 at 610B1005
> 155 78759 [main] mutex1n 4872 _cygtls::handle_exceptions: In
> cygwin_except_handler exc 0xC0000005 at 0x610B1005 sp 0x22CC00
>
> [...]
>
> Index: thread.cc
> ===================================================================
> RCS file: /cvs/src/src/winsup/cygwin/thread.cc,v
> retrieving revision 1.198
> diff -u -b -B -r1.198 thread.cc
> - --- thread.cc 22 Mar 2006 20:38:26 -0000 1.198
> +++ thread.cc 23 May 2006 13:16:57 -0000
> @@ -118,6 +118,9 @@
> {
> verifyable_object **object = (verifyable_object **) objectptr;
> + if (*object == NULL)
> + return INVALID_OBJECT;
> +
> myfault efault;
> if (efault.faulted ())
> return INVALID_OBJECT;
Um, this can't be right. The entire purpose of that "myfault efault"
line right there is to install a handler that catches any fault that
occurs until efault's destructor runs and return INVALID_OBJECT. So
checking for NULL is not necessary; the c0000005 exception is caught and
handled gracefully. Whatever testcase failure you are seeing is not
because of this.
Brian
--
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple
Problem reports: http://cygwin.com/problems.html
Documentation: http://cygwin.com/docs.html
FAQ: http://cygwin.com/faq/