Wow Wily Dev - Nice Analysis Bro!

I agree with everything you said. That sample code though I tossed out
has been pretty sweet but I also cut out a portion of those routines for
fear they might be confuse. I don't think it would of confused you...
though without full source they would at least of left folks most likely
scratching their heads and clicking EMail Delete button quickly. 

In those functions, the code I cut out is a memory based version of the
same thing that doesn't hit critical sections at for the very reasons
you cited - timing changes in code plus the mechanics of spinning in a
critical - potentially "hiding" the real issue at hand by making things
play nicer by shear "accident".

I definitely think you have been reading up on your threading - you'd
appreciate that I have a thread monitor that can look at those memory
based structues for each thread and I can zero in on "stuck threads" and
interrogate where they are, where they were when they got stuck etc
without reading log files.

As for your global logging comment - I do have a global logging method -
but being filebased - it needs a form of serialization and having
multiple threads hitting it, well... it lost's value except as an error
log. If you look at those code snips there are similar functions named
DebugIn and DeBugOut - they are wrappers to a central logging system -
that just do the nice Nest looking output like DBIN and DBOUT do in
their output.

I also didn't use a stack for the file stuff - and you're right - no
checking is done - it was a lean means to and end - which did it's job
many times over - points me to trouble spots pretty quick. The compiler
directives are ugly - and your recommendation concerning them is sound.
I tend to use them a lot because I like to be able to turn on and off
entire subsystems in such a way they are not compiled in. Example - My
Application server can be compiled pretty small with the "Plain Vanilla
WebServer" configuration, or a full fledged self contained CRM system +
integration tools + application server functionality - one code base.
BEst idea? Maybe not. Programmer expensive? I won't deny that - but
those are the kind of code constructs I don't mind cutting and
pasting... I also tend to only implement those code bits in code that in
the mission critical path to a suspected issue I'm after.

Your analysis was such that I thought a reasonable response was deserved
- nice to know we got quite the code gurus on the mailing list - I love
Synapse - It's pretty slamming I'd say. the next areas I'm hoping to be
able to get to with it are 64bit, Ip6, and making a SSL certificate work
without making the browser refuse to serve my ssl stuff or looking like
my server is death incarnate trying to burn your PC LOL... (I get it to
encrypt but haven't had the time to figure out how to get ssl certs
working like they should).

--Jason



------------------------------------------------------------------------------
The Planet: dedicated and managed hosting, cloud storage, colocation
Stay online with enterprise data centers and the best network in the business
Choose flexible plans and management services without long-term contracts
Personal 24x7 support from experience hosting pros just a phone call away.
http://p.sf.net/sfu/theplanet-com
_______________________________________________
synalist-public mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/synalist-public

Reply via email to