Hi! Long time no hear...
We are trying to merge some of our local changes to the current repository... There are some obstacles though... We use the Win platform among others and must make sure the code performs on Win's equally well as on Unices. We are still not there but we are approaching... In general: Most of the windows changes are now cluttered over the code in form of ifdef's which is ugly and unsupportable. Over the time we will try to avoid this by moving all the platform-different stuff out and wrapping it in one special directory or file (today's nswin32.c). This will be a lenghtly process, as there are LOTS of places in the code we need to re-visit, but we should do that in order to keep the code maintainable. In partiucular: One thing is pretty complicated though.... the nsproxy module. It spawns external program (proxy) and maintains the communication to that program over standard unnamed (anonymus) pipes. It also utilizes the non-blocking operations to the proxy so we can eventually recover from runaway proxies. This runs on Unix very good. On Windows there are some limitations as how you can do non-blocking operations... In particular, there seems to be a problem with non-blocking reads/writes on unnamed pipes... They simply do not work on windows, at least as to our knowledge. So there we have a problem... If we want to make nsproxy work on Unix and windows equally well, we must either a. use sockets for both platforms or b. use pipes on Unix (as now) and sockets on windows The b. is what we've implemented so far. It is conceptually working well but it is UGLY code cluttered with define's all arround. It is also difficult to expand on and to maintain. The a. is what I am really after. It *may* add certain performance penalty (which at this monent I cannot quantify) but would lead to cleaner and simpler code. Apropos performance... I have a feeling that we will not have much troubles in this area. After all, proxy operations are per-se slow, so adding some more ticks won't change much IMO. Does anybody have any reasons why we should NOT go after b.? Or... is there any other option that is worth considering? Cheers Zoran ------------------------------------------------------------------------------ Try before you buy = See our experts in action! The most comprehensive online learning library for Microsoft developers is just $99.99! Visual Studio, SharePoint, SQL - plus HTML5, CSS3, MVC3, Metro Style Apps, more. Free future releases when you subscribe now! http://p.sf.net/sfu/learndevnow-dev2 _______________________________________________ naviserver-devel mailing list naviserver-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/naviserver-devel