Wim Oudshoorn <[EMAIL PROTECTED]> writes:
> If no one objects I will commit this patch.
>
> Problem
> -------
> On MinGW if a program becomes multithreaded it will bail out.
>
>
> Reason
> ------
> If a program becomes multithreaded GSPerformHolder will be set up.
> This in turn will create a pipe to communicate between threads.
> However pipes are not sockets and when it registers the
> pipe (non-socket) with the runloop of the default thread
> it will bail out because the runloop does not understand
> pipes
>
>
> Solution
> --------
> Temporary solution is to remove the offending code on MinGW.
> This will break performSelectorOnMainThread methods, but at
> least multithreading will work.
>
> (This is a short term solution)
>
>
> Wim Oudshoorn.
>
Forgot the patch
Index: base/Source/NSThread.m
===================================================================
RCS file: /cvsroot/gnustep/gnustep/core/base/Source/NSThread.m,v
retrieving revision 1.76
diff -c -r1.76 NSThread.m
*** base/Source/NSThread.m 17 Feb 2004 12:55:02 -0000 1.76
--- base/Source/NSThread.m 24 Feb 2004 15:40:52 -0000
***************
*** 821,826 ****
--- 821,827 ----
perfArray = [[NSMutableArray alloc] initWithCapacity: 10];
+ #ifndef __MINGW__
for (i = 0; i < count; i++ )
{
[loop addEvent: (void*)inputFd
***************
*** 828,833 ****
--- 829,835 ----
watcher: (id<RunLoopEvents>)self
forMode: [m objectAtIndex: i]];
}
+ #endif
}
+ (BOOL) isValid
_______________________________________________
Bug-gnustep mailing list
[EMAIL PROTECTED]
http://mail.gnu.org/mailman/listinfo/bug-gnustep