yes, it might be a good time. as wrote in the other thread,
i was able to compile an start nsd with very little windows
experience. Be aware, that runnning "nsd.exe -c" does
not mean that all of nsd is really running.

-g
PS: my own time budget will be reduced significantly
for the next weeks.

Am 08.10.14 18:50, schrieb Maurizio Martignano:
> Dear Andrew and Gustaf,
>       In due time, when you both are confident on the status of Naviserver
> on Windows, I would try it inside my Windows-OpenACS distribution.
>
> First of all I would try it in few installations running on the machines I
> have in my offices, then once I see it they are running fine and everything
> I have now still behave the same, I would make the new version of the
> distribution available.
>
> Is that OK with you?
>
> Maurizio
>
>
> -----Original Message-----
> From: Andrew Piskorski [mailto:a...@piskorski.com]
> Sent: 08 October 2014 18:39
> To: naviserver-devel@lists.sourceforge.net
> Subject: Re: [naviserver-devel] Naviserver hangs on Windows
>
> On Wed, Oct 08, 2014 at 09:32:56AM +0200, Gustaf Neumann wrote:
>
>> the advantage of approach 2 (disable mutex timings, use )  is that
>> this works for 32bit and 64 bit, while (1) works most likely only for
>> 64bit (if i look at the constant).
> No, I'm confident that the approach using EPOCH_BIAS works just fine on
> 32-bit Windows, because in AOLserver 4.0.7 and 4.0.8 that is the ONLY
> implementation of Ns_GetTime on Windows, and I ran those versions of
> AOLserver for years on Windows XP 32-bit.
>
> Calls to Ns_GetTime() are very common, so AFAICT, for those AOLservers to
> work at all, that EPOCH_BIAS code had to be working fine on 32-bit Windows
> XP.  The only other alternative is that AOLserver was somehow magically
> calling an entirely different function instead of Ns_GetTime(), which I
> judge as very unlikely.
>
>> The mutex timings is an additional feature in naviserver, so at least
>> for the time being, one can life without that.... and with the deeper
>> knowledge, we might be able to activate this later again.
> Ah, I didn't realize that.  I should turn them back off for Windows in my
> fork then?
>
>> The problem seems to be: DllMain() calls certain functions before the
>> normal entry point main() is called, which initializes tcl etc. The
>> Windows man page [1] says:
> Interesting.  And of course DllMain() only exists on Windows.  But, why do
> we need DllMain() at all?  I assume we DO need it of course, I just don't
> understand the design differences between Naviserver's pthread and winthread
> support.  Both Posix and Windows use Nsthreads_LibInit(), but DllMain()
> seems to be an extra layer not present for Posix.
>
>>   > changing the Ns_Time.sec (in nsthread.h) to be time_t rather than
>> long  > fixes nearly everything.
>>
>> The reason, naviserver uses 2x long in Ns_Time is probably due to Tcl,
>> using:
> AFAICT, using long is just wrong, and Tcl and Naviserver both should have
> been using time_t for many years now.  I'm not sure when time_t was invented
> and standardized, but since then it's been what Unix and Windows both use.
>
> So what am I missing?  Why did the Tcl maintainers stick with long for
> Tcl_Time.sec?  It could just be a holdover from before time_t existed or
> really mattered, but perhaps they had a better for keeping it as a long.
>
>> So at least, when using Tcl_GetTime(), which returns the time as
>> Tcl_Time, everything should be fine. Note, that in your native time
>> implementation, you assign to timePtr->sec with (time_t), which might
>> be part of the problem you are experiencing.
> Could be.  I will try the no-mutex-timings and Ns_GetTimeFromTcl() approach
> again, this time with Ns_Time.sec changed back to type long rather than
> time_t.
>
>> Probably, i should get a windows installation running, but the setup
>> costs are quite high in terms of time and lack on windows-knowlege on
>> my side.
> Yeah.  Maybe the Docker stuff Stephen showed us would make it easier?
>
> Definitely see the notes I sent a while back on exactly what Microsoft
> software to install.  All the main stuff you need is available for free but
> figuring out WHAT you're supposed to install is not easy.
>
> Btw, if you do go that route, be aware that I am using
>    nmake -f Makefile.win32
> for building and cleaning, but NOT for installing Naviserver.  I have not
> debugged the install commands of those two *.win32 makefiles at all, because
> I have my own old Tcl script ("win32-install-nsd.tcl") for intalling on
> Windows, which I was able to quickly adapt to Naviserver.
>
> If you want that install script let me know.  I haven't added it to
> Mercurial yet because it is in CVS, and I'd like to nicely retain its full
> history it, but haven't looked up how to best do that yet.
>
> --
> Andrew Piskorski <a...@piskorski.com>
>


------------------------------------------------------------------------------
Meet PCI DSS 3.0 Compliance Requirements with EventLog Analyzer
Achieve PCI DSS 3.0 Compliant Status with Out-of-the-box PCI DSS Reports
Are you Audit-Ready for PCI DSS 3.0 Compliance? Download White paper
Comply to PCI DSS 3.0 Requirement 10 and 11.5 with EventLog Analyzer
http://pubads.g.doubleclick.net/gampad/clk?id=154622311&iu=/4140/ostg.clktrk
_______________________________________________
naviserver-devel mailing list
naviserver-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/naviserver-devel

Reply via email to