| 01:05.31 | *** join/#brlcad ibot (ibot@rikers.org) | |
| 01:05.31 | *** topic/#brlcad is BRL-CAD Open Source Solid Modeling || http://brlcad.org || http://sf.net/projects/brlcad || #brlcad logs: http://ibot.rikers.org/%23brlcad/ || BRL-CAD is now available on Gentoo! (20100225) | |
| 01:45.02 | CIA-73 | BRL-CAD: 03brlcad * r38223 10/rt^3/trunk/tests/GS/GeometryServiceTest.cxx: huh, I thought we changed this. fix braces, pulling them up to their statement line except for functions/classes. |
| 01:47.57 | brlcad | d-lo: I assume you meant the sleep on GeometryServiceTest.cxx:778 .. that isn't important to the test, could just as well have it perform some blocking status call or a while loop that counts to some big number -- that said, a portable timing mechanism usually needs to be wrapped |
| 01:48.20 | brlcad | to use whatever the native timing interface is, and depending on the needs of the timer (how high precision) |
| 01:50.28 | brlcad | for that test, it was just to "let time pass" before we query for events so there didn't have to be any other logic .. the test itself is just assuming "I got an event" means the evaluation succeeded anywyas -- it's intentionally very minimal |
| 01:51.08 | brlcad | d-lo: and more specific to answer your question: no |
| 01:52.04 | brlcad | there's not really a "better" way, at least not a portable one -- at best you might end up assuming a recent *nix and win* environment in which case you might get away with just a #define or two for sleep/_sleep/usleep/etc |
| 01:55.01 | brlcad | starseeker: I'm not sure what you're referring to exactly, but you could make either a windows-specific "fork" (see our existing fork code) or use tcl threading |
| 01:55.40 | brlcad | depending on communication and what data needs to be shared with what, tcl threading might be more beneficial in the long run if isolated to libdm |
| 01:55.58 | starseeker | libfb/libdm? |
| 01:56.02 | brlcad | sure |
| 01:56.21 | brlcad | they are two peas in a pod |
| 01:56.43 | starseeker | Not sure how "isolated" they would be - mged at least might have to be aware of the threads... |
| 01:57.00 | starseeker | probably needs a whiteboard discussion to figure out how it would all work |
| 01:57.34 | starseeker | (for me, anyway... :-/) |
| 01:59.46 | brlcad | from mged's perspective, it's "send this data to that dm/fb" |
| 02:00.59 | brlcad | if it's a blocking call and/or there is a lot of data then you'd maybe need something more elaborate, but that's not been a problem |
| 02:01.12 | starseeker | nods |
| 02:01.41 | starseeker | I'd really like to try and do it "right", assuming I'm capable of that type/level of programming |
| 02:02.10 | brlcad | what is "it" that you're trying to do exactly? |
| 02:02.34 | starseeker | you recall when you implemented the fork based approach to tk framebuffer? |
| 02:02.45 | brlcad | sure |
| 02:03.14 | brlcad | more proof of concept |
| 02:03.16 | starseeker | We had discussed the possibility of Tcl threads, and at some point later in the channel you mentioned that the threads approach looked as if it would take a fair bit of work (or something like that, don't recall exactly) |
| 02:04.21 | starseeker | Given that the tk display manager fails in X11 Tk on the Mac (and especially how/when it fails) I'm guessing there are some similar issues with how the Tk code in libdm and MGED's Tk code are going to interact |
| 02:05.29 | ``Erik | <PROTECTED> |
| 02:05.49 | brlcad | er, I don't recall saying tcl threads would be a problem |
| 02:06.09 | brlcad | looking through the logs, my exact words and what comes to mind: |
| 02:06.12 | brlcad | "the next step you could take that would be even better than fork() and libpkg would probably be to use TclThread's and TclPipes ... should translate nearly 1-1" |
| 02:06.24 | ``Erik | (and "just use aqua tk" ain't a viable solution from my point of view, I do remote X a lot) |
| 02:07.01 | brlcad | so fix it |
| 02:07.26 | ``Erik | nah, it's easier to bitch and wait :D |
| 02:07.46 | ``Erik | mebbe when I'm not "prioritized" anymore |
| 02:07.52 | brlcad | rather counterproductive and annoying :P |
| 02:08.31 | ``Erik | bitch, I'll stab you O.o :D |
| 02:08.54 | brlcad | you can try |
| 02:09.29 | ``Erik | knock the last of wax off tomorrie morning, salt free, w00t |
| 02:09.57 | brlcad | hey if you're going to make pointless bitchy statements, don't be all whiny when someone bitches back at you for bitching pointlessly |
| 02:10.01 | ``Erik | washed, vaccuumed... didn't wash the glass on the inside |
| 02:10.31 | brlcad | you're just now getting salt off your car? |
| 02:10.36 | ``Erik | yup |
| 02:10.43 | brlcad | shakes head |
| 02:10.49 | ``Erik | there were crystals built up in the mirrors O.O |
| 02:10.58 | ``Erik | but I gave her a bath today |
| 02:11.39 | starseeker | brlcad: ok, sorry - my bad. |
| 02:11.44 | starseeker | mis-remembered |
| 02:12.20 | brlcad | not saying it'll be "easy", but it should be relatively straightforward |
| 02:12.34 | starseeker | nods |
| 02:12.40 | brlcad | maybe go through some simple tcl threading tutorials/code first to get a feel for it |
| 02:12.52 | brlcad | how you pass data between threads is the main question you'll have to figure out |
| 02:13.33 | brlcad | you either cheat and go with a tcl channel, which is similar to the hack it's doing now to pass the data back from child to parent |
| 02:13.47 | brlcad | or you use some tcl data passing mechanism |
| 02:13.59 | starseeker | brlcad: are we OK with requiring threaded tcl for gui stuff? |
| 02:14.18 | starseeker | ``Erik: have you tried downgrading X11 on the Mac? |
| 02:16.04 | brlcad | you know of a reason why we wouldn't be? |
| 02:16.36 | ``Erik | no |
| 02:17.41 | ``Erik | threading allows shared memory pools, so only locking is a concern... forking wtih threads requires fruitiness like shm to get that :/ |
| 02:18.04 | ``Erik | er, not with threads, heh |
| 02:18.51 | ``Erik | <-- rolls his arse to bed before he says anything else stupid O:-) |
| 02:19.48 | starseeker | brlcad: not unless one of the platforms we support can't handle Tcl threads |
| 02:20.21 | brlcad | then answering that probably answers your question |
| 02:20.26 | starseeker | nods |
| 02:20.29 | starseeker | I'll check |
| 02:23.45 | starseeker | Ah. Restrictions: On some UNIX systems the pthread-library does not contain the functionality to specify the stack size of a thread. The specified value for the stack size is ignored on these systems. Windows currently does not support joinable threads. This flag value is therefore ignored on this platform. |
| 02:24.01 | starseeker | probably not a show-stopper |
| 02:25.29 | starseeker | prepares to warp his brain some more... |
| 03:04.08 | brlcad | starseeker: quite a productive day.. nice! |
| 03:14.33 | *** join/#brlcad jack (~jack@85.92.137.10) | |
| 03:19.39 | CIA-73 | BRL-CAD: 03brlcad * r38224 10/brlcad/trunk/NEWS: reword for clarity and tense. cliff made mged help menu list all commands that have docs; put_comb usage was improved. (broken state is not user-visible as it occurred between releases) |
| 03:30.46 | *** join/#brlcad Ralith (~ralith@69.90.48.97) | |
| 03:55.47 | CIA-73 | BRL-CAD: 03starseeker * r38225 10/brlcad/trunk/doc/docbook/system/mann/en/Makefile.am: whoops - missed a backslash. |
| 05:04.21 | CIA-73 | BRL-CAD: 03brlcad * r38226 10/brlcad/trunk/NEWS: cliff improved put_comb usage statements and also added a new manual page for it. |
| 05:17.58 | CIA-73 | BRL-CAD: 03starseeker * r38227 10/brlcad/trunk/src/tclscripts/mged/man.tcl: Er, yeah... might want to sort those results - glob doesn't necessarily supply sorted lists. |
| 07:51.27 | *** join/#brlcad jack (~jack@unaffiliated/jack) | |
| 08:55.24 | *** join/#brlcad mafm (~mafm@83.50.132.58) | |
| 11:43.06 | d-lo | G'Mernin all! |
| 11:45.25 | d-lo | SO I know its noobish, but I was able to get rt^3 to compile, on windows, via Eclipse using mingw, cmake and QT. |
| 11:45.42 | d-lo | Probably nuthin fer you esssssperts, but its a big deal for me :P |
| 11:47.24 | d-lo | starseeker: We need sync gym times :) |
| 12:39.03 | starseeker | d-lo: heh - when I commit at 1am, usually early gym is beyond my resources |
| 12:39.22 | d-lo | I figured :P |
| 12:41.02 | starseeker | is kinda amazed to be awake now |
| 13:31.23 | CIA-73 | BRL-CAD: 03bob1961 * r38228 10/brlcad/trunk/src/tclscripts/swidgets/scripts/tree.itk: Added the following methods: selectpath, selectpaths, selectitem, finditem, findheritagepath and _call_querycmd. |
| 13:37.54 | CIA-73 | BRL-CAD: 03bob1961 * r38229 10/brlcad/trunk/src/tclscripts/archer/ArcherCore.tcl: Added the sed command. Modified the mrayCallback_pick method to select the picked item in the tree. |
| 13:45.41 | *** join/#brlcad parigaudi (~quassel@pd95b7f5e.dip0.t-ipconnect.de) | |
| 14:20.34 | CIA-73 | BRL-CAD: 03starseeker * r38230 10/brlcad/trunk/BUGS: More comments on the result reporting bug. |
| 14:20.36 | starseeker | d-lo: oh, getting Windows to do anything is a big deal ;-) |
| 14:25.57 | CIA-73 | BRL-CAD: 03starseeker * r38231 10/brlcad/trunk/src/tclscripts/mged/man.tcl: Introduction isn't a command, filter it out of the list. |
| 15:08.39 | CIA-73 | BRL-CAD: 03indianlarry * r38232 10/brlcad/branches/STABLE/configure.ac: synced single line change from truck revision 38177 which removes the -gstabs+ and replaces with the -ggdb3 option. Should allow the MUVES S2 folk to test successfully on host 'hera'. |
| 15:31.33 | starseeker | eyes goblin... graph layout algorithms, lgpl, tcl/tk stuff... |
| 15:40.24 | starseeker | more C++ though |
| 15:56.20 | CIA-73 | BRL-CAD: 03brlcad * r38233 10/brlcad/trunk/src/mged/cmd.c: instead of creating and setting dynamic tcl strings, just append our ged result string. lines: 115 -> 45 |
| 16:23.51 | *** join/#brlcad parigaudi_ (~quassel@pd95b7f5e.dip0.t-ipconnect.de) | |
| 17:03.04 | *** join/#brlcad Stattrav (~Stattrav@202.3.77.161) | |
| 20:23.17 | *** join/#brlcad R0b0t1 (~Enigma@unaffiliated/r0b0t1) | |
| 20:33.18 | CIA-73 | BRL-CAD: 03brlcad * r38234 10/brlcad/trunk/src/libcursor/Makefile.am: turn on strict flags (already compiles clean on 32-bit x86 mac os x) |
| 20:49.55 | CIA-73 | BRL-CAD: 03brlcad * r38235 10/brlcad/trunk/src/libdm/axes.c: |
| 20:49.55 | CIA-73 | BRL-CAD: viewSize is unused. looks like gdas_size is getting set very high up (tcl land) |
| 20:49.55 | CIA-73 | BRL-CAD: to the viewsize in base coords. one of the two don't belong, either viewsize |
| 20:49.55 | CIA-73 | BRL-CAD: shouldn't be passed or (more likely) gdas_size shouldn't exist. |
| 21:11.49 | CIA-73 | BRL-CAD: 03brlcad * r38236 10/brlcad/trunk/src/libdm/ (dm-Null.c dm-generic.c): |
| 21:11.49 | CIA-73 | BRL-CAD: move Nu_open over from dm-Null.c for the temporary. it's empty and only used in |
| 21:11.50 | CIA-73 | BRL-CAD: dm-generic right now during a dm_open. keep until interp can be refactored out |
| 21:11.50 | CIA-73 | BRL-CAD: and callback added to dm struct. clean up and reorganize dm-Null.c to avoid all |
| 21:11.50 | CIA-73 | BRL-CAD: forward declarations and quell all verbose compilation warnings. |
| 21:12.20 | CIA-73 | BRL-CAD: 03brlcad * r38237 10/brlcad/trunk/src/libdm/dm-X.c: quellage. |
| 21:20.32 | CIA-73 | BRL-CAD: 03brlcad * r38238 10/brlcad/trunk/include/dm.h: shouldn't need to export Nu_open() now. |
| 21:38.53 | CIA-73 | BRL-CAD: 03brlcad * r38239 10/brlcad/trunk/src/libdm/dm-generic.c: quell unused parameter warning by testing for null and leaving early (instead of potentially crashing) |
| 21:43.31 | CIA-73 | BRL-CAD: 03brlcad * r38240 10/brlcad/trunk/src/libdm/dm-tk.c: more quellage, unused vars, param tests, cull out some of the X11 code from new tk interface, cleanup. |
| 21:47.36 | CIA-73 | BRL-CAD: 03brlcad * r38241 10/brlcad/trunk/src/libdm/dm-Null.c: say null display |
| 21:50.06 | CIA-73 | BRL-CAD: 03brlcad * r38242 10/brlcad/trunk/src/libdm/dm-plot.c: quellage, unused vars, param tests, style, cleanup. |
| 22:03.58 | CIA-73 | BRL-CAD: 03r_weiss * r38243 10/brlcad/trunk/src/conv/obj-g_new.c: reworking for nmg |
| 22:33.52 | CIA-73 | BRL-CAD: 03brlcad * r38244 10/brlcad/trunk/src/libdm/dm-ps.c: quellage, unused vars, param tests, style, cleanup. |
| 22:35.12 | CIA-73 | BRL-CAD: 03brlcad * r38245 10/brlcad/trunk/src/libdm/dm_obj.c: |
| 22:35.13 | CIA-73 | BRL-CAD: quellage, unused vars, param tests, style, cleanup. found a couple _function_ |
| 22:35.13 | CIA-73 | BRL-CAD: pointer addresses getting printed to a string. this is unacceptably worse than |
| 22:35.13 | CIA-73 | BRL-CAD: printing data pointer values to strings, one that the standard explicitly |
| 22:35.13 | CIA-73 | BRL-CAD: prohibits. will remove soon. |
| 22:38.43 | CIA-73 | BRL-CAD: 03brlcad * r38246 10/brlcad/trunk/src/libdm/dm_obj.c: sigh.. and the reverse. cannot convert between function pointers and void* .. must be fixed or removed. |
| 22:53.15 | CIA-73 | BRL-CAD: 03brlcad * r38247 10/brlcad/trunk/src/libdm/dm_obj.c: clientData in the struct isn't even a function pointer. |
| 23:19.10 | CIA-73 | BRL-CAD: 03brlcad * r38248 10/brlcad/trunk/bench/Makefile.am: try harder to fault if benchmark testing fails. |
| 23:20.04 | CIA-73 | BRL-CAD: 03brlcad * r38249 10/brlcad/trunk/include/raytrace.h: 'normal' shadows a Carbon header enum on MacOSX |
| 23:22.27 | CIA-73 | BRL-CAD: 03brlcad * r38250 10/brlcad/trunk/TODO: fix archer/libged labels/axes pointer printing for 7.18 given they are security holes and ISO C standard violations. |
| 23:34.06 | CIA-73 | BRL-CAD: 03brlcad * r38251 10/brlcad/trunk/src/libdm/labels.c: remove dead ifdef'0 code, quell warnings, remove unused parameters (related to lines), keep track of max plot so we don't overrun container and cause screwy display problems (possibly some observed in the wild) |
| 23:35.20 | CIA-73 | BRL-CAD: 03brlcad * r38252 10/brlcad/trunk/src/libdm/labels.c: ws indent style cleanup |
| 23:42.22 | CIA-73 | BRL-CAD: 03brlcad * r38253 10/brlcad/trunk/ (4 files in 3 dirs): remove third param, ged_view structure from dm_draw_rect (shouldn't be mixing libdm and libged, shouldn't be ged data structures in dm's public API) |
| 23:43.39 | CIA-73 | BRL-CAD: 03brlcad * r38254 10/brlcad/trunk/src/libdm/Makefile.am: oops, not yet |
| 23:45.44 | CIA-73 | BRL-CAD: 03brlcad * r38255 10/brlcad/trunk/src/libdm/scale.c: final quellage. y1 from mac's math.h gets shadowed, so use xy/pos instead. |
| 23:49.52 | CIA-73 | BRL-CAD: 03brlcad * r38256 10/brlcad/trunk/src/libdm/axes.c: xyz-end-12 are potentially usued unitialized in this function, so set them up as zero for starters. |
| 23:53.52 | CIA-73 | BRL-CAD: 03brlcad * r38257 10/brlcad/trunk/src/libdm/dm_obj.c: cast through uintptr_t first so we don't lose precision. uintptr_t is only conveniently not considered a pointer type by this rev of gcc, but we're still in violation and doing it wrong. |
| 23:54.54 | CIA-73 | BRL-CAD: 03brlcad * r38258 10/brlcad/trunk/src/libdm/Makefile.am: passes verbose compilation on 32-bit mac and 64-bit linux. undoubtedly a few more warts to clear up, but good enough for strict. |