From mboxrd@z Thu Jan 1 00:00:00 1970 Mime-Version: 1.0 (Apple Message framework v753) In-Reply-To: <135DE285-36B4-49BC-8DF4-6B214CBAD09D@corpus-callosum.com> References: <0C14786D-9214-49A3-A798-9DB55F9EAFA9@kix.in> <135DE285-36B4-49BC-8DF4-6B214CBAD09D@corpus-callosum.com> Content-Type: text/plain; charset=US-ASCII; delsp=yes; format=flowed Message-Id: <814614A9-994E-43FE-BF1E-4248213B95F7@mac.com> Content-Transfer-Encoding: 7bit From: Pietro Gagliardi Date: Tue, 8 Apr 2008 16:27:50 -0400 To: Fans of the OS Plan 9 from Bell Labs <9fans@9fans.net> Subject: Re: [9fans] OSX Drawterm hangs on close Topicbox-Message-UUID: 8a9b9e14-ead3-11e9-9d60-3106f5b1d025 Also realize that Cocoa is written in Objective-C, not C, so you need to learn a new language to get your hands on it. You CAN write a C wrapper around the Objective-C (it was originally a C preprocessor), but I don't think elite Mac programmers would recommend it. On Apr 8, 2008, at 10:32 AM, Jeff Sickel wrote: > > On Apr 8, 2008, at 8:34 AM, Anant Narayanan wrote: >> >> On 06-Apr-08, at 8:46 AM, erik quanstrom wrote: >>>> it's a known bug, but i don't think there's a fix for it. >>> >>> what's the bug? >> >> drawterm on OS X needs to be rewritten in Cocoa. > > Cocoa isn't completely needed... just getting rid of the Carbon > framework dependancy. > > On 10.5.2, when quit from Dock->drawterm->Quit (should be the same > as a menu command for quit) we get: > > (gdb) info threads > 6 process 4410 thread 0x5b03 0x902d2bce in __semwait_signal () > 5 process 4410 thread 0x5903 0x902d2bce in __semwait_signal () > 4 process 4410 thread 0x5803 0x902d2bce in __semwait_signal () > 3 process 4410 thread 0x5703 0x902d2bce in __semwait_signal () > * 1 process 4410 local thread 0x2f27 0x9031bb8e in recvfrom > $UNIX2003 () > (gdb) bt > #0 0x9031bb8e in recvfrom$UNIX2003 () > #1 0x9031bb81 in recv$UNIX2003 () > #2 0x00019c71 in so_recv (fd=5, d=0x162b0060, n=65536, f=0) at > devip-posix.c:209 > #3 0x00018745 in ipread (ch=0x13cd70, a=0x162b0060, n=65536, > offset=0) at devip.c:377 > #4 0x0000ba81 in devbread (c=0x13cd70, n=65536, offset=0) at dev.c: > 414 > #5 0x0001f605 in ensure (s=0x1571d0, l=0x157224, n=3) at devssl.c:431 > #6 0x0001f9e0 in sslbread (c=0x141de0, n=4, o=33837) at devssl.c:579 > #7 0x0001ff00 in sslread (c=0x141de0, a=0x847600, n=4, off=33837) > at devssl.c:683 > #8 0x00028e00 in kread (fd=7, buf=0x847600, n=4, offp=0x0) at > sysfile.c:408 > #9 0x00028ea8 in _syspread (fd=7, buf=0x847600, n=4, off=-1) at > sysfile.c:434 > #10 0x0002a34c in sysread (fd=7, buf=0x847600, n=4) at sysfile.c:1072 > #11 0x00058135 in readn (f=7, av=0x847600, n=4) at readn.c:13 > #12 0x0005802a in read9pmsg (fd=7, abuf=0x847600, n=8240) at > read9pmsg.c:14 > #13 0x0002eb9a in exportfs (fd=7, msgsz=8240) at exportfs.c:84 > #14 0x00003546 in cpumain (argc=0, argv=0xbfffeeec) at cpu.c:208 > #15 0x000025b8 in main (argc=7, argv=0xbfffeed0) at main.c:68 > > > I'll try building w/ proper 10.5 symbols and run a few more tests > to find out which part of the event loop should really be catching > the Quit message. > > jas > >