You can subscribe to this list here.
2005 |
Jan
|
Feb
(53) |
Mar
(62) |
Apr
(88) |
May
(55) |
Jun
(204) |
Jul
(52) |
Aug
|
Sep
(1) |
Oct
(94) |
Nov
(15) |
Dec
(68) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2006 |
Jan
(130) |
Feb
(105) |
Mar
(34) |
Apr
(61) |
May
(41) |
Jun
(92) |
Jul
(176) |
Aug
(102) |
Sep
(247) |
Oct
(69) |
Nov
(32) |
Dec
(140) |
2007 |
Jan
(58) |
Feb
(51) |
Mar
(11) |
Apr
(20) |
May
(34) |
Jun
(37) |
Jul
(18) |
Aug
(60) |
Sep
(41) |
Oct
(105) |
Nov
(19) |
Dec
(14) |
2008 |
Jan
(3) |
Feb
|
Mar
(7) |
Apr
(5) |
May
(123) |
Jun
(5) |
Jul
(1) |
Aug
(29) |
Sep
(15) |
Oct
(21) |
Nov
(51) |
Dec
(3) |
2009 |
Jan
|
Feb
(36) |
Mar
(29) |
Apr
|
May
|
Jun
(7) |
Jul
(4) |
Aug
|
Sep
(4) |
Oct
|
Nov
(13) |
Dec
|
2010 |
Jan
|
Feb
|
Mar
(9) |
Apr
(11) |
May
(16) |
Jun
|
Jul
|
Aug
|
Sep
(1) |
Oct
|
Nov
|
Dec
|
2011 |
Jan
|
Feb
|
Mar
|
Apr
|
May
(1) |
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2012 |
Jan
(7) |
Feb
(3) |
Mar
|
Apr
|
May
|
Jun
(3) |
Jul
|
Aug
|
Sep
|
Oct
(92) |
Nov
(28) |
Dec
(16) |
2013 |
Jan
(9) |
Feb
(2) |
Mar
|
Apr
(4) |
May
(4) |
Jun
(6) |
Jul
(14) |
Aug
(12) |
Sep
(4) |
Oct
(13) |
Nov
(1) |
Dec
(6) |
2014 |
Jan
(23) |
Feb
(19) |
Mar
(10) |
Apr
(14) |
May
(11) |
Jun
(6) |
Jul
(11) |
Aug
(15) |
Sep
(41) |
Oct
(95) |
Nov
(23) |
Dec
(11) |
2015 |
Jan
(3) |
Feb
(9) |
Mar
(19) |
Apr
(3) |
May
(1) |
Jun
(3) |
Jul
(11) |
Aug
(1) |
Sep
(15) |
Oct
(5) |
Nov
(2) |
Dec
|
2016 |
Jan
(7) |
Feb
(11) |
Mar
(8) |
Apr
(1) |
May
(3) |
Jun
(17) |
Jul
(12) |
Aug
(3) |
Sep
(5) |
Oct
(19) |
Nov
(12) |
Dec
(6) |
2017 |
Jan
(30) |
Feb
(23) |
Mar
(12) |
Apr
(32) |
May
(27) |
Jun
(7) |
Jul
(13) |
Aug
(16) |
Sep
(6) |
Oct
(11) |
Nov
|
Dec
(12) |
2018 |
Jan
(1) |
Feb
(5) |
Mar
(6) |
Apr
(7) |
May
(23) |
Jun
(3) |
Jul
(2) |
Aug
(1) |
Sep
(6) |
Oct
(6) |
Nov
(10) |
Dec
(3) |
2019 |
Jan
(26) |
Feb
(15) |
Mar
(9) |
Apr
|
May
(8) |
Jun
(14) |
Jul
(10) |
Aug
(10) |
Sep
(4) |
Oct
(2) |
Nov
(20) |
Dec
(10) |
2020 |
Jan
(10) |
Feb
(14) |
Mar
(29) |
Apr
(11) |
May
(25) |
Jun
(21) |
Jul
(23) |
Aug
(12) |
Sep
(19) |
Oct
(6) |
Nov
(8) |
Dec
(12) |
2021 |
Jan
(29) |
Feb
(9) |
Mar
(8) |
Apr
(8) |
May
(2) |
Jun
(2) |
Jul
(9) |
Aug
(9) |
Sep
(3) |
Oct
(4) |
Nov
(12) |
Dec
(13) |
2022 |
Jan
(4) |
Feb
|
Mar
(4) |
Apr
(12) |
May
(15) |
Jun
(7) |
Jul
(10) |
Aug
(2) |
Sep
|
Oct
(1) |
Nov
(8) |
Dec
|
2023 |
Jan
(15) |
Feb
|
Mar
(23) |
Apr
(1) |
May
(2) |
Jun
(10) |
Jul
|
Aug
(22) |
Sep
(19) |
Oct
(2) |
Nov
(20) |
Dec
|
2024 |
Jan
(1) |
Feb
|
Mar
(16) |
Apr
(15) |
May
(6) |
Jun
(4) |
Jul
(1) |
Aug
(1) |
Sep
|
Oct
(13) |
Nov
(18) |
Dec
(6) |
2025 |
Jan
(12) |
Feb
|
Mar
(2) |
Apr
(1) |
May
(11) |
Jun
(5) |
Jul
(4) |
Aug
(1) |
Sep
|
Oct
|
Nov
|
Dec
|
From: Andrew P. <at...@pi...> - 2014-10-04 06:51:31
|
When exactly did Naviserver fork from AOLserver, and have all the relevent bugfixes made to AOLserver since then been merged into Naviserver? (I see a few that look like they haven't been...) Although I don't see any official mention of it, from comparing the Naviserver and aolserver-40x repositories on Bitbucket it sure looks like Naviserver forked from the aolserver-4.0.10 release, and that this was the last commit made by anyone PRIOR to forking: changeset: 1095:e9c50ae686b5 user: Dossy Shiobara <do...@pa...> date: Tue Jan 18 21:10:07 2005 +0000 description: Tag aolserver-4.0.10 -- Andrew Piskorski <at...@pi...> |
From: Maurizio M. <Mau...@sp...> - 2014-10-03 15:47:43
|
The Windows-OpenACS distribution which I make available here (http://www.spazioit.com/pages_en/sol_inf_en/windows-openacs_en/) is based on AOLServer 4.5.2, contains the sources, is compiled with Visual Studio 2013 and runs on Windows 64. So if I where you I would give a look at that distribution and see how all those time related functions have been handled. That could save you some time. Maurizio -----Original Message----- From: Andrew Piskorski [mailto:at...@pi...] Sent: 03 October 2014 16:49 To: nav...@li... Subject: Re: [naviserver-devel] Naviserver hangs on Windows Hm, the old AOLserver 4.0.7 version of Ns_GetTime() had a Windows ifdef which is entirely missing from Naviserver! (See below.) I found two relevant commits in Mercurial, from 2009 and 2012, below. >From those logs, it looks like what happened is that in 2009, Zoran removed the platform specific C code and instead made Naviserver call Tcl_GetTime (somehow). Then in 2012, Gustaf added back the old Unix-specific gettimeofday() implementation for performance reasons. So should we just add back the old Windows-specific C implementation too? Or is it better to use Zoran's way of invoking Tcl_GetTime? Do we even know for sure if that method really is "platform-independent" as Zoran thought it was? E.g., did Zoran or someone else at Archiware test it on Windows? Part of Ns_GetTime() from ancient AOLserver 4.0.7 sources: ------------------------------------------------------------ #ifdef _WIN32 /* * Number of 100 nanosecond units from 1/1/1601 to 1/1/1970 */ #define EPOCH_BIAS 116444736000000000i64 union { unsigned __int64 i; FILETIME s; } ft; GetSystemTimeAsFileTime(&ft.s); timePtr->sec = (time_t)((ft.i - EPOCH_BIAS) / 10000000i64); timePtr->usec =(long)((ft.i / 10i64) % 1000000i64); #else #endif changeset: 2435:16508ab4b3de user: Gustaf Neumann <ne...@wu...> date: Fri Nov 02 01:54:38 2012 +0100 files: configure.in include/nsconfig.h.in nsthread/time.c description: use gettimeofday() if available instead of the rount trip to tcl changeset: 2009:4bf1ee6ebf84 user: Zoran Vasiljevic <zv...@ar...> date: Sat Sep 29 14:14:03 2007 +0100 files: ChangeLog nsproxy/nsproxylib.c nsthread/time.c description: Ns_GetTime now relies on Tcl_GetTime to be platform-independent -- Andrew Piskorski <at...@pi...> ---------------------------------------------------------------------------- -- 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 nav...@li... https://lists.sourceforge.net/lists/listinfo/naviserver-devel |
From: Andrew P. <at...@pi...> - 2014-10-03 14:49:34
|
Hm, the old AOLserver 4.0.7 version of Ns_GetTime() had a Windows ifdef which is entirely missing from Naviserver! (See below.) I found two relevant commits in Mercurial, from 2009 and 2012, below. >From those logs, it looks like what happened is that in 2009, Zoran removed the platform specific C code and instead made Naviserver call Tcl_GetTime (somehow). Then in 2012, Gustaf added back the old Unix-specific gettimeofday() implementation for performance reasons. So should we just add back the old Windows-specific C implementation too? Or is it better to use Zoran's way of invoking Tcl_GetTime? Do we even know for sure if that method really is "platform-independent" as Zoran thought it was? E.g., did Zoran or someone else at Archiware test it on Windows? Part of Ns_GetTime() from ancient AOLserver 4.0.7 sources: ------------------------------------------------------------ #ifdef _WIN32 /* * Number of 100 nanosecond units from 1/1/1601 to 1/1/1970 */ #define EPOCH_BIAS 116444736000000000i64 union { unsigned __int64 i; FILETIME s; } ft; GetSystemTimeAsFileTime(&ft.s); timePtr->sec = (time_t)((ft.i - EPOCH_BIAS) / 10000000i64); timePtr->usec =(long)((ft.i / 10i64) % 1000000i64); #else #endif changeset: 2435:16508ab4b3de user: Gustaf Neumann <ne...@wu...> date: Fri Nov 02 01:54:38 2012 +0100 files: configure.in include/nsconfig.h.in nsthread/time.c description: use gettimeofday() if available instead of the rount trip to tcl changeset: 2009:4bf1ee6ebf84 user: Zoran Vasiljevic <zv...@ar...> date: Sat Sep 29 14:14:03 2007 +0100 files: ChangeLog nsproxy/nsproxylib.c nsthread/time.c description: Ns_GetTime now relies on Tcl_GetTime to be platform-independent -- Andrew Piskorski <at...@pi...> |
From: Maurizio M. <Mau...@sp...> - 2014-10-03 14:16:57
|
Dear Andrew, These are the basic options I would use for a Windows 64 bit, AMD64: COPTS = /EHsc /W3 /nologo /c DEFS = $(DEFS) /D "_WINDOWS" /D "TCL_THREADS=1" /D "WIN32" /D "_WIN32" \ /D "FD_SETSIZE=128" /D "NO_CONST=1" /D "_MBCS" # /D "_USE_32BIT_TIME_T" LOPTS = /NOLOGO /SUBSYSTEM:CONSOLE /OPT:NOREF /OPT:NOICF Hope it helps, Maurizio -----Original Message----- From: Andrew Piskorski [mailto:at...@pi...] Sent: 03 October 2014 15:58 To: nav...@li... Subject: Re: [naviserver-devel] Naviserver hangs on Windows On Fri, Oct 03, 2014 at 03:21:02PM +0200, Maurizio Martignano wrote: > Dear Andrew, > Did you happen to use this define _USE_32BIT_TIME_T? No, I did not. Should I? Does Tcl use that? Grepping my source files, I see this: ./include/nsconfig.h:276:#define SIZEOF_TIME_T 8 That nsconfig.h was created on Linux, but my Windows build uses it too. Perhaps that is the problem? But how the heck can I generate a correct version of nsconfig.h for my Windows 7 system? -- Andrew Piskorski <at...@pi...> ---------------------------------------------------------------------------- -- 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 nav...@li... https://lists.sourceforge.net/lists/listinfo/naviserver-devel |
From: Maurizio M. <Mau...@sp...> - 2014-10-03 14:10:13
|
Well I do not know... What is your target? W32 or W64? What is your target machine? E.g. X64? or AMD? How do you link the DLL? Maurizio -----Original Message----- From: Andrew Piskorski [mailto:at...@pi...] Sent: 03 October 2014 15:58 To: nav...@li... Subject: Re: [naviserver-devel] Naviserver hangs on Windows On Fri, Oct 03, 2014 at 03:21:02PM +0200, Maurizio Martignano wrote: > Dear Andrew, > Did you happen to use this define _USE_32BIT_TIME_T? No, I did not. Should I? Does Tcl use that? Grepping my source files, I see this: ./include/nsconfig.h:276:#define SIZEOF_TIME_T 8 That nsconfig.h was created on Linux, but my Windows build uses it too. Perhaps that is the problem? But how the heck can I generate a correct version of nsconfig.h for my Windows 7 system? -- Andrew Piskorski <at...@pi...> ---------------------------------------------------------------------------- -- 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 nav...@li... https://lists.sourceforge.net/lists/listinfo/naviserver-devel |
From: Andrew P. <at...@pi...> - 2014-10-03 13:58:05
|
On Fri, Oct 03, 2014 at 03:21:02PM +0200, Maurizio Martignano wrote: > Dear Andrew, > Did you happen to use this define _USE_32BIT_TIME_T? No, I did not. Should I? Does Tcl use that? Grepping my source files, I see this: ./include/nsconfig.h:276:#define SIZEOF_TIME_T 8 That nsconfig.h was created on Linux, but my Windows build uses it too. Perhaps that is the problem? But how the heck can I generate a correct version of nsconfig.h for my Windows 7 system? -- Andrew Piskorski <at...@pi...> |
From: Maurizio M. <Mau...@sp...> - 2014-10-03 13:21:19
|
Dear Andrew, Did you happen to use this define _USE_32BIT_TIME_T? Hope it helps, Maurizio -----Original Message----- From: Andrew Piskorski [mailto:at...@pi...] Sent: 03 October 2014 14:49 To: nav...@li... Subject: [naviserver-devel] Naviserver hangs on Windows With my changes here, the core Naviserver compiles now on my Windows 7 64-bit machine: https://bitbucket.org/naviserver/naviserver/pull-requests https://bitbucket.org/apiskors/naviserver/commits/all However, it doesn't work at all. If I simply run "nsd -h", it hangs indefinitely, and locks up the Command Prompt window where I ran nsd. Control-c does not abort, I have to close the window. Note that I built Naviserver using ActiveTcl 8.5, I did not compile Tcl myself. I just started learning to use the WinDbg debugger. Below is a stack trace. This one is from attaching WinDbg to an already-running "nsd.exe -h" process, but it looks the same if I intead tell WinDbg to run nsd.exe itself (with no command line arguments) . >From the stack trace, Naviserver seems to be getting stuck when Ns_GetTime (line 69 of time.c) calls TclpGetDate. But, line 69 does not explicitly call TclpGetDate, it justs manipulates a Tcl_Time tbuf structure like so: timePtr->sec = tbuf.sec; In Tcl 8.5.x, TclpGetDate is in win/tclWinTime.c, but the string "TclpGetDate" does not occur anywhere in the Naviserver code, so I'm not sure how it manages to call it. A function pointer somewhere? Any ideas what might be wrong here, or what else I should do to debug this further? Here the initial WinDbg output when attaching to a running "nsd.exe -h" process, and then the stack trace (the "k" command): ------------------------------------------------------------ *** wait with pending attach Symbol search path is: C:\web\nsd-atp\lib;http://msdl.microsoft.com/download/symbols Executable search path is: ModLoad: 00000001`3f080000 00000001`3f0fe000 C:\web\nsd-atp\bin\nsd.exe ModLoad: 00000000`775e0000 00000000`77789000 C:\Windows\SYSTEM32\ntdll.dll ModLoad: 00000000`773c0000 00000000`774df000 C:\Windows\system32\kernel32.dll ModLoad: 000007fe`fd430000 000007fe`fd49c000 C:\Windows\system32\KERNELBASE.dll ModLoad: 000007fe`f0680000 000007fe`f0828000 C:\web\nsd-atp\bin\nsd.dll ModLoad: 000007fe`faab0000 000007fe`fab4e000 C:\web\nsd-atp\bin\nsthread.dll ModLoad: 00000000`10000000 00000000`100dc000 C:\P\Tcl85\bin\tcl85.dll ModLoad: 00000000`774e0000 00000000`775da000 C:\Windows\system32\USER32.dll ModLoad: 000007fe`fdd40000 000007fe`fdda7000 C:\Windows\system32\GDI32.dll ModLoad: 000007fe`ff8e0000 000007fe`ff8ee000 C:\Windows\system32\LPK.dll ModLoad: 000007fe`ff470000 000007fe`ff539000 C:\Windows\system32\USP10.dll ModLoad: 000007fe`ff2e0000 000007fe`ff37f000 C:\Windows\system32\msvcrt.dll ModLoad: 000007fe`ff380000 000007fe`ff45b000 C:\Windows\system32\ADVAPI32.dll ModLoad: 000007fe`fdad0000 000007fe`fdaef000 C:\Windows\SYSTEM32\sechost.dll ModLoad: 000007fe`ff780000 000007fe`ff8ad000 C:\Windows\system32\RPCRT4.dll ModLoad: 000007fe`fee00000 000007fe`fee4d000 C:\Windows\system32\WS2_32.dll ModLoad: 000007fe`ff460000 000007fe`ff468000 C:\Windows\system32\NSI.dll ModLoad: 000007fe`ff8b0000 000007fe`ff8de000 C:\Windows\system32\IMM32.DLL ModLoad: 000007fe`fd9c0000 000007fe`fdac9000 C:\Windows\system32\MSCTF.dll Break-in sent, waiting 30 seconds... WARNING: Break-in timed out, suspending. This is usually caused by another thread holding the loader lock (e98.12c): Wake debugger - code 80000007 (first chance) ntdll!ZwWaitForSingleObject+0xa: 00000000`776312fa c3 ret 0:000> kc Call Site ntdll!ZwWaitForSingleObject *** ERROR: Symbol file could not be found. Defaulted to export symbols for C:\P\Tcl85\bin\tcl85.dll - KERNELBASE!WaitForSingleObjectEx *** WARNING: Unable to verify checksum for C:\web\nsd-atp\bin\nsthread.dll tcl85!TclpGetDate [...] 0:000> k Child-SP RetAddr Call Site 00000000`0027eeb8 000007fe`fd4310dc ntdll!ZwWaitForSingleObject+0xa 00000000`0027eec0 00000000`100a4766 KERNELBASE!WaitForSingleObjectEx+0x79 00000000`0027ef60 000007fe`faab4139 tcl85!TclpGetDate+0x5c2 00000000`0027efc0 000007fe`faab1bf6 nsthread!Ns_GetTime+0x29 [z:\web\ns-fork\naviserver\nsthread\time.c @ 69] 00000000`0027f010 000007fe`faab25f9 nsthread!Ns_MutexLock+0x76 [z:\web\ns-fork\naviserver\nsthread\mutex.c @ 210] 00000000`0027f0d0 000007fe`faab144a nsthread!Ns_CsEnter+0x69 [z:\web\ns-fork\naviserver\nsthread\cslock.c @ 172] 00000000`0027f110 000007fe`faab3db8 nsthread!Ns_MasterLock+0x2a [z:\web\ns-fork\naviserver\nsthread\master.c @ 71] 00000000`0027f140 000007fe`faab2c58 nsthread!Ns_TlsAlloc+0x28 [z:\web\ns-fork\naviserver\nsthread\tls.c @ 77] 00000000`0027f180 000007fe`faab33d2 nsthread!NsInitReentrant+0x28 [z:\web\ns-fork\naviserver\nsthread\reentrant.c @ 65] 00000000`0027f1b0 000007fe`faab4514 nsthread!NsInitThreads+0x32 [z:\web\ns-fork\naviserver\nsthread\thread.c @ 105] 00000000`0027f1e0 000007fe`faab457d nsthread!Nsthreads_LibInit+0x44 [z:\web\ns-fork\naviserver\nsthread\winthread.c @ 132] 00000000`0027f210 000007fe`faabddf0 nsthread!DllMain+0x5d [z:\web\ns-fork\naviserver\nsthread\winthread.c @ 164] 00000000`0027f250 000007fe`faabdd41 nsthread!__DllMainCRTStartup+0xa0 [f:\dd\vctools\crt_bld\self_64_amd64\crt\src\dllcrt0.c @ 330] 00000000`0027f2a0 00000000`7761b108 nsthread!_DllMainCRTStartup+0x31 [f:\dd\vctools\crt_bld\self_64_amd64\crt\src\dllcrt0.c @ 294] 00000000`0027f2d0 00000000`77621e5a ntdll!LdrpRunInitializeRoutines+0x1fe 00000000`0027f4a0 00000000`77621937 ntdll!LdrpInitializeProcess+0x1b8a 00000000`0027f990 00000000`7760c34e ntdll! ?? ::FNODOBFM::`string'+0x28ff0 00000000`0027fa00 00000000`00000000 ntdll!LdrInitializeThunk+0xe -- Andrew Piskorski <at...@pi...> ---------------------------------------------------------------------------- -- 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 nav...@li... https://lists.sourceforge.net/lists/listinfo/naviserver-devel |
From: Andrew P. <at...@pi...> - 2014-10-03 12:49:26
|
With my changes here, the core Naviserver compiles now on my Windows 7 64-bit machine: https://bitbucket.org/naviserver/naviserver/pull-requests https://bitbucket.org/apiskors/naviserver/commits/all However, it doesn't work at all. If I simply run "nsd -h", it hangs indefinitely, and locks up the Command Prompt window where I ran nsd. Control-c does not abort, I have to close the window. Note that I built Naviserver using ActiveTcl 8.5, I did not compile Tcl myself. I just started learning to use the WinDbg debugger. Below is a stack trace. This one is from attaching WinDbg to an already-running "nsd.exe -h" process, but it looks the same if I intead tell WinDbg to run nsd.exe itself (with no command line arguments) . >From the stack trace, Naviserver seems to be getting stuck when Ns_GetTime (line 69 of time.c) calls TclpGetDate. But, line 69 does not explicitly call TclpGetDate, it justs manipulates a Tcl_Time tbuf structure like so: timePtr->sec = tbuf.sec; In Tcl 8.5.x, TclpGetDate is in win/tclWinTime.c, but the string "TclpGetDate" does not occur anywhere in the Naviserver code, so I'm not sure how it manages to call it. A function pointer somewhere? Any ideas what might be wrong here, or what else I should do to debug this further? Here the initial WinDbg output when attaching to a running "nsd.exe -h" process, and then the stack trace (the "k" command): ------------------------------------------------------------ *** wait with pending attach Symbol search path is: C:\web\nsd-atp\lib;http://msdl.microsoft.com/download/symbols Executable search path is: ModLoad: 00000001`3f080000 00000001`3f0fe000 C:\web\nsd-atp\bin\nsd.exe ModLoad: 00000000`775e0000 00000000`77789000 C:\Windows\SYSTEM32\ntdll.dll ModLoad: 00000000`773c0000 00000000`774df000 C:\Windows\system32\kernel32.dll ModLoad: 000007fe`fd430000 000007fe`fd49c000 C:\Windows\system32\KERNELBASE.dll ModLoad: 000007fe`f0680000 000007fe`f0828000 C:\web\nsd-atp\bin\nsd.dll ModLoad: 000007fe`faab0000 000007fe`fab4e000 C:\web\nsd-atp\bin\nsthread.dll ModLoad: 00000000`10000000 00000000`100dc000 C:\P\Tcl85\bin\tcl85.dll ModLoad: 00000000`774e0000 00000000`775da000 C:\Windows\system32\USER32.dll ModLoad: 000007fe`fdd40000 000007fe`fdda7000 C:\Windows\system32\GDI32.dll ModLoad: 000007fe`ff8e0000 000007fe`ff8ee000 C:\Windows\system32\LPK.dll ModLoad: 000007fe`ff470000 000007fe`ff539000 C:\Windows\system32\USP10.dll ModLoad: 000007fe`ff2e0000 000007fe`ff37f000 C:\Windows\system32\msvcrt.dll ModLoad: 000007fe`ff380000 000007fe`ff45b000 C:\Windows\system32\ADVAPI32.dll ModLoad: 000007fe`fdad0000 000007fe`fdaef000 C:\Windows\SYSTEM32\sechost.dll ModLoad: 000007fe`ff780000 000007fe`ff8ad000 C:\Windows\system32\RPCRT4.dll ModLoad: 000007fe`fee00000 000007fe`fee4d000 C:\Windows\system32\WS2_32.dll ModLoad: 000007fe`ff460000 000007fe`ff468000 C:\Windows\system32\NSI.dll ModLoad: 000007fe`ff8b0000 000007fe`ff8de000 C:\Windows\system32\IMM32.DLL ModLoad: 000007fe`fd9c0000 000007fe`fdac9000 C:\Windows\system32\MSCTF.dll Break-in sent, waiting 30 seconds... WARNING: Break-in timed out, suspending. This is usually caused by another thread holding the loader lock (e98.12c): Wake debugger - code 80000007 (first chance) ntdll!ZwWaitForSingleObject+0xa: 00000000`776312fa c3 ret 0:000> kc Call Site ntdll!ZwWaitForSingleObject *** ERROR: Symbol file could not be found. Defaulted to export symbols for C:\P\Tcl85\bin\tcl85.dll - KERNELBASE!WaitForSingleObjectEx *** WARNING: Unable to verify checksum for C:\web\nsd-atp\bin\nsthread.dll tcl85!TclpGetDate [...] 0:000> k Child-SP RetAddr Call Site 00000000`0027eeb8 000007fe`fd4310dc ntdll!ZwWaitForSingleObject+0xa 00000000`0027eec0 00000000`100a4766 KERNELBASE!WaitForSingleObjectEx+0x79 00000000`0027ef60 000007fe`faab4139 tcl85!TclpGetDate+0x5c2 00000000`0027efc0 000007fe`faab1bf6 nsthread!Ns_GetTime+0x29 [z:\web\ns-fork\naviserver\nsthread\time.c @ 69] 00000000`0027f010 000007fe`faab25f9 nsthread!Ns_MutexLock+0x76 [z:\web\ns-fork\naviserver\nsthread\mutex.c @ 210] 00000000`0027f0d0 000007fe`faab144a nsthread!Ns_CsEnter+0x69 [z:\web\ns-fork\naviserver\nsthread\cslock.c @ 172] 00000000`0027f110 000007fe`faab3db8 nsthread!Ns_MasterLock+0x2a [z:\web\ns-fork\naviserver\nsthread\master.c @ 71] 00000000`0027f140 000007fe`faab2c58 nsthread!Ns_TlsAlloc+0x28 [z:\web\ns-fork\naviserver\nsthread\tls.c @ 77] 00000000`0027f180 000007fe`faab33d2 nsthread!NsInitReentrant+0x28 [z:\web\ns-fork\naviserver\nsthread\reentrant.c @ 65] 00000000`0027f1b0 000007fe`faab4514 nsthread!NsInitThreads+0x32 [z:\web\ns-fork\naviserver\nsthread\thread.c @ 105] 00000000`0027f1e0 000007fe`faab457d nsthread!Nsthreads_LibInit+0x44 [z:\web\ns-fork\naviserver\nsthread\winthread.c @ 132] 00000000`0027f210 000007fe`faabddf0 nsthread!DllMain+0x5d [z:\web\ns-fork\naviserver\nsthread\winthread.c @ 164] 00000000`0027f250 000007fe`faabdd41 nsthread!__DllMainCRTStartup+0xa0 [f:\dd\vctools\crt_bld\self_64_amd64\crt\src\dllcrt0.c @ 330] 00000000`0027f2a0 00000000`7761b108 nsthread!_DllMainCRTStartup+0x31 [f:\dd\vctools\crt_bld\self_64_amd64\crt\src\dllcrt0.c @ 294] 00000000`0027f2d0 00000000`77621e5a ntdll!LdrpRunInitializeRoutines+0x1fe 00000000`0027f4a0 00000000`77621937 ntdll!LdrpInitializeProcess+0x1b8a 00000000`0027f990 00000000`7760c34e ntdll! ?? ::FNODOBFM::`string'+0x28ff0 00000000`0027fa00 00000000`00000000 ntdll!LdrInitializeThunk+0xe -- Andrew Piskorski <at...@pi...> |
From: Andrew P. <at...@pi...> - 2014-10-02 21:41:07
|
AOLserver used to install sendmail.tcl and various other *.tcl files into a modules/tcl/ subdirectory. The stock Naviserver Unix Makefile still creates modules/tcl/, but it remains empty because sendmail.tcl and the other files are instead installed into tcl/, one level higher in the directory tree. Why was that change made, and was it intentional? Do we actually need the modules/tcl/ directory for anything now? Given Gustaf's 2014-01-07 change below, I guess we do, but only for backwards compatibility? changeset: 2714:3a7c1c9fe0e0 user: Gustaf Neumann <ne...@wu...> date: Tue Jan 07 19:18:36 2014 +0100 files: Makefile description: - build directory modues/tcl during install, since default configs point to it -- Andrew Piskorski <at...@pi...> |
From: Joel R. <jo...@ru...> - 2014-10-02 12:01:12
|
I hope I'm not out of line posting here. If I am I apologize and will watch replies for negative feedback. I'm happy to field any questions about my post, but hopefully you can route them through jo...@ru.... Ruby Lane: Software Engineer, Front-End ~ San Francisco or Telecommute Ruby Lane is an exciting company to work for with benefits that rival any start-up. We're financially stable and continue to show steady growth. Additionally, we have never taken outside investment. We're looking for long-term employees who want rewarding work and also time to focus on their personal lives. You should probably do some basic research on us to see if you're interested. I'll let you do that instead of feeding you statistics. First, Ruby Lane is almost exclusively telecommute. Our main office is in San Francisco. We have employees working from all over the US, Europe, Africa, and Asia. If you'd like to relocate--this might be the job for you. If you prefer to work from home, we're a great place to be. We provide a company laptop--Apple or Lenovo--but your work environment is up to you. We generally meet up about once a year for face to face talks. I live in Asia and one of our Ops guys is in Hawaii, so we really do mean work from anywhere. Telecommuting is great, but it requires discipline to be reliable and productive. Our codebase is over 15 years old, but we regularly modernize our toolset to take advantage of new innovations. Right now our main webapp is written in TCL using the AOLServer web server--but we are migrating to Naviserver within the next month. We use Percona MySQL for our database and Bootstrap/jQuery for UI design. We use git. We're also entirely hosted on Amazon's Cloud. We've adopted some of Amazon's technologies, and are looking to implement auto scaling groups and workflows within the next year. All of our images are stored on S3 and we're refactoring code to scale out instead of scale up. If you wanted to chat with one of our programmers to answer more questions, that's not a problem. We are looking for people who truly take on a problem. This means doing all the research to implement the feature correctly, digging into our existing code to make sure you aren't recreating the wheel, and then actually delivering code. We'll mentor you and give you easy projects to begin with, but we need a real coder. If you don't deliver code, we won't hesitate to terminate your employment with Ruby Lane. We write a webapp--you're going to need to know some HTML and CSS. We haven't adopted HTML5 yet, and are testing our features back to IE8 right now. We deploy servers using Puppet and we deploy our software onto them using Capistrano. Your code will be visible to end users, so a little design knowledge is a great thing. We have an official company culture--mostly to be honest and straightforward with each other and our clients. To be good to each other. You'll communicate with your coworkers mostly via Skype, email, and sometimes phone. Most of the time you won't deal with our customers directly, but its not out of the question. If we have to work with a customer to diagnose and fix an issue, we will. I love working for Ruby Lane because I'm treated like an adult. As long as I'm delivering code and not crashing the site, I have freedom to work in the way that suits me best. We'll have eyes on you early on to make sure you're fitting in with the company, but as you prove yourself you'll get latitude. The only caveat to the work freedom is that we'll need some working hours overlap so that we can talk through your current projects. We had problems with overlapping hours with an Australian, so it's something to consider. So, our growth prospects are good and we need more developers to keep up with the projects coming down the pipeline. If you think you'd like to be on our team, I'd love to hear from you. I need a resume (txt or PDF are best), and I'd appreciate a cover letter that tells me something about you and your personality. We are not opposed to hiring mature programmers--we'd love to have your experience on our team if you've kept your skills fresh. Self-taughts are also encouraged--you had the motivation to learn it on your own and that is respectable. Your submissions will be read directly by me and need to be sent to jo...@ru.... I will ask for references, and I'm going to call them all. About Ruby Lane Founded in 1998, Ruby Lane Inc is a closely held established California Corporation and offers flexible work hours and location, competitive salary, company paid medical insurance, 401(K) matching, profit sharing, and paid vacation/holidays/sick days. Ruby Lane is an equal opportunity employer. -- Joel Roberts CTO & Social Marketing Manager Ruby Lane Serving the Online Community Since 1998 Shop . Sell . Relax Antiques & Art . Vintage Collectibles . Jewelry www.rubylane.com +1.415.362.7611 |
From: Andrew P. <at...@pi...> - 2014-10-01 19:43:36
|
On Wed, Oct 01, 2014 at 03:12:34PM -0400, Andrew Piskorski wrote: > Creating library nsthread.lib and object nsthread.exp > reentrant.o : error LNK2019: unresolved external symbol Ns_Log referenced in function ns_asctime > nsthread.dll : fatal error LNK1120: 1 unresolved externals Well, I fixed that by simply commenting out that new Ns_Log call, here: https://bitbucket.org/apiskors/naviserver/commits/f4c8f273833539b5d48ec1b73b594a9d961fe788 I still worry a bit about the two separate definitions of NS_EXTERN and which one is actually getting used, but so far the change to include ns.h from reentrant.c does NOT seem to have broken anything. -- Andrew Piskorski <at...@pi...> |
From: Andrew P. <at...@pi...> - 2014-10-01 19:12:42
|
On Wed, Sep 17, 2014 at 06:50:08PM -0400, Andrew Piskorski wrote: > include/ns.h has this: > > #define NS_EXTERN extern NS_EXPORT > > But I believe that is NOT relevent here because master.c, thread.h, > and nsthread.h (correctly) do NOT include ns.h. > > Instead, I think it is the separate definition of NS_EXTERN in > nsthread.h that matters when building nsthread. Gustaf, on 9/27 you changed nsthread/reentrant.c to import ns.h. It never did that before, and now it imports ns.h before thread.h and nsthread.h. It looks like you did that in order to call Ns_Log in reentrant.c. However, I suspect that ALSO changed the definition of NS_EXTERN to the one in ns.h rather than nsthread.h. Was that an unintentional? Defining NS_EXTERN in two separate places like that is kind of confusing. Can/should we merge them into one somehow? I bring this up because after merging all your latest changes into my fork, the nsthread Windows build (which worked before) now fails like this: Creating library nsthread.lib and object nsthread.exp reentrant.o : error LNK2019: unresolved external symbol Ns_Log referenced in function ns_asctime nsthread.dll : fatal error LNK1120: 1 unresolved externals changeset: 2884:950a8cebabb8 user: Gustaf Neumann <ne...@wu...> date: Sat Sep 27 22:17:55 2014 +0200 files: include/nsthread.h nsd/exec.c nsthread/reentrant.c description: - setting WINVERSION to Vista to allow usage of InetNtop() - make code more robust against previous defines - use the right pid_t type for win - add shutdown flags - use *_s function in win-specific reentrant code -- Andrew Piskorski <at...@pi...> |
From: Maurizio M. <Mau...@sp...> - 2014-09-28 16:04:07
|
Perfect, You eventually landed on using _mktemp_s which is what described in the first link I provided you with and is what I was hoping for Windows. Thanks a lot, Maurizio From: Gustaf Neumann [mailto:ne...@wu...] Sent: 28 September 2014 16:56 To: nav...@li... Subject: Re: [naviserver-devel] no mkstemp() on Windows, use TclpCreateTempFile()? mktemp() is useful, but is in in the unix world general strongly discouraged in favor of mkstemp(). The problem with mktemp() + file-create is, that in the time between the pathname is constructed and the file is created, another process might have created a file with the same name. mkstemp() is actually guaranteed to create a unique file. For the time being, i've commited a small implementation of mkstemp() for windows, that opens files with O_EXCL, which should be a first approximation. However, it's not tested, please test it and don't be surprised, if it needs more tweaks (maybe my flag settings are too restrictive). all the best -g Am 27.09.14 16:11, schrieb Andrew Piskorski: On Fri, Sep 26, 2014 at 08:55:37PM +0200, Maurizio Martignano wrote: Dear Andrew and Gustaf, I believe this is the function you are looking for: http://msdn.microsoft.com/en-us/library/ms235413.aspx No, it is not. mktemp and friends merely generate a file name, while mkstemp also opens the file and returns a file handle. So yes, you could use mktemp as part of an implementation of mkstemp, but they do are not replacements for each other. |
From: Gustaf N. <ne...@wu...> - 2014-09-28 14:56:04
|
mktemp() is useful, but is in in the unix world general strongly discouraged in favor of mkstemp(). The problem with mktemp() + file-create is, that in the time between the pathname is constructed and the file is created, another process might have created a file with the same name. mkstemp() is actually guaranteed to create a unique file. For the time being, i've commited a small implementation of mkstemp() for windows, that opens files with O_EXCL, which should be a first approximation. However, it's not tested, please test it and don't be surprised, if it needs more tweaks (maybe my flag settings are too restrictive). all the best -g Am 27.09.14 16:11, schrieb Andrew Piskorski: > On Fri, Sep 26, 2014 at 08:55:37PM +0200, Maurizio Martignano wrote: >> Dear Andrew and Gustaf, >> I believe this is the function you are looking for: >> >> http://msdn.microsoft.com/en-us/library/ms235413.aspx > No, it is not. mktemp and friends merely generate a file name, while > mkstemp also opens the file and returns a file handle. So yes, you > could use mktemp as part of an implementation of mkstemp, but they do > are not replacements for each other. > |
From: Maurizio M. <Mau...@sp...> - 2014-09-27 15:11:09
|
Well... >From the Posix documentation: "The mkstemp function generates a unique file name just as mktemp does, but it also opens the file for you..." So you can anyhow use the Microsoft version of mktemp to get the file name and then you just open it as you need. I believe this approach is much simpler that creating your own function. As simple as that, Maurizio -----Original Message----- From: Andrew Piskorski [mailto:at...@pi...] Sent: 27 September 2014 16:09 To: nav...@li... Subject: Re: [naviserver-devel] no mkstemp() on Windows, use TclpCreateTempFile()? On Fri, Sep 26, 2014 at 06:08:39PM +0200, Maurizio Martignano wrote: > http://msdn.microsoft.com/en-us/library/ms235413.aspx No, that is about mktemp (and thus also _mktemp and _mktemp_s), which has quite different behavior from mkstemp. They are not replacements for each other. -- Andrew Piskorski <at...@pi...> ---------------------------------------------------------------------------- -- 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 nav...@li... https://lists.sourceforge.net/lists/listinfo/naviserver-devel |
From: Andrew P. <at...@pi...> - 2014-09-27 14:30:17
|
On Fri, Sep 26, 2014 at 01:15:45PM +0200, Gustaf Neumann wrote: > The change [1] should fix the windows behavior > [1] > https://bitbucket.org/naviserver/naviserver/commits/b743a8847dd01704ffdcfe98cc8a95a80ad7eea1 You're right, that one line change fixed it, thanks! Now with that blocking bug out of the way, it looks I sill have more Windows build failures with your recent changes. I'll do more debugging and see why. > Does anyone know, why we have a define for _WIN32_WINNT in > our sources? > Windows should know, what version it has. Maybe a leftover? > Andrew, can you check, what happens, if we remove it? I tried removing the _WIN32_WINNT definition entirely just now, which DID change the build behavior! It switched to a different set of errors and warnings. So maybe we do need it, but I don't know why. I'll look more once I get the build working again. -- Andrew Piskorski <at...@pi...> |
From: Andrew P. <at...@pi...> - 2014-09-27 14:14:44
|
On Fri, Sep 26, 2014 at 02:12:59PM +0200, Gustaf Neumann wrote: > We have to be careful on licence mixes. The tcl8.5 version of > TclpCreateTempFile uses already mkstemp, but the windows I did not consider that at all. But, hm, Tcl uses a quite permissive BSD-like license, so it probably does not matter? If we copy some bits of their code, we may still put it our modified version under Naviserver's Mozilla license? > implemetation looks like a slim approach for a win32 > implementation (aside of the TclFile handling) using > CreateFile* and the appropriate flags to make the file > a temp file... Is that a good fit for Naviserver's needs? -- Andrew Piskorski <at...@pi...> |
From: Andrew P. <at...@pi...> - 2014-09-27 14:11:50
|
On Fri, Sep 26, 2014 at 08:55:37PM +0200, Maurizio Martignano wrote: > Dear Andrew and Gustaf, > I believe this is the function you are looking for: > > http://msdn.microsoft.com/en-us/library/ms235413.aspx No, it is not. mktemp and friends merely generate a file name, while mkstemp also opens the file and returns a file handle. So yes, you could use mktemp as part of an implementation of mkstemp, but they do are not replacements for each other. -- Andrew Piskorski <at...@pi...> |
From: Andrew P. <at...@pi...> - 2014-09-27 14:09:07
|
On Fri, Sep 26, 2014 at 06:08:39PM +0200, Maurizio Martignano wrote: > http://msdn.microsoft.com/en-us/library/ms235413.aspx No, that is about mktemp (and thus also _mktemp and _mktemp_s), which has quite different behavior from mkstemp. They are not replacements for each other. -- Andrew Piskorski <at...@pi...> |
From: Maurizio M. <Mau...@sp...> - 2014-09-26 18:55:23
|
Dear Andrew and Gustaf, I believe this is the function you are looking for: http://msdn.microsoft.com/en-us/library/ms235413.aspx Hope it helps, Maurizio -----Original Message----- From: Gustaf Neumann [mailto:ne...@wu...] Sent: 26 September 2014 14:13 To: nav...@li... Subject: Re: [naviserver-devel] no mkstemp() on Windows, use TclpCreateTempFile()? Dear Andrew, We have to be careful on licence mixes. The tcl8.5 version of TclpCreateTempFile uses already mkstemp, but the windows implemetation looks like a slim approach for a win32 implementation (aside of the TclFile handling) using CreateFile* and the appropriate flags to make the file a temp file... -g On 26.09.14 02:51, Andrew Piskorski wrote: > mkstemp() does not exist on Windows, and Naviserver uses it in three > places: > > $ find . -name "*.[ch]" -print | xargs grep -in mkstemp > ./nsd/adpeval.c:1183: fd = mkstemp(debugfile); > ./nsd/tclhttp.c:426: fd = mkstemp(httpPtr->spoolFileName); > ./nsd/driver.c:2301: sockPtr->tfd = mkstemp(sockPtr->tfile); > > We could stick in our own mkstemp() implementation. Some starting > points for that may be: > > http://stackoverflow.com/questions/6036227/mkstemp-implementation-for-win32 > http://sourceforge.net/p/mingw/bugs/2003/ > > But Tcl 8.4 and later already have TclpCreateTempFile() (two separate > implementations for Unix and Windows), which seems to solve the same > problem. It returns a TclFile object, not a file descriptor. > > Can/should Naviserver's existing users of mkstemp() be modified to > instead work with TclpCreateTempFile()? Or will that not quite work, > and we should borrow some of the Windows version of > TclpCreateTempFile() for direct use in Naviserver? > ---------------------------------------------------------------------------- -- 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 nav...@li... https://lists.sourceforge.net/lists/listinfo/naviserver-devel |
From: Maurizio M. <Mau...@sp...> - 2014-09-26 17:44:57
|
http://msdn.microsoft.com/en-us/library/ms235413.aspx Maurizio -----Original Message----- From: Gustaf Neumann [mailto:ne...@wu...] Sent: 26 September 2014 14:13 To: nav...@li... Subject: Re: [naviserver-devel] no mkstemp() on Windows, use TclpCreateTempFile()? Dear Andrew, We have to be careful on licence mixes. The tcl8.5 version of TclpCreateTempFile uses already mkstemp, but the windows implemetation looks like a slim approach for a win32 implementation (aside of the TclFile handling) using CreateFile* and the appropriate flags to make the file a temp file... -g On 26.09.14 02:51, Andrew Piskorski wrote: > mkstemp() does not exist on Windows, and Naviserver uses it in three > places: > > $ find . -name "*.[ch]" -print | xargs grep -in mkstemp > ./nsd/adpeval.c:1183: fd = mkstemp(debugfile); > ./nsd/tclhttp.c:426: fd = mkstemp(httpPtr->spoolFileName); > ./nsd/driver.c:2301: sockPtr->tfd = mkstemp(sockPtr->tfile); > > We could stick in our own mkstemp() implementation. Some starting > points for that may be: > > http://stackoverflow.com/questions/6036227/mkstemp-implementation-for-win32 > http://sourceforge.net/p/mingw/bugs/2003/ > > But Tcl 8.4 and later already have TclpCreateTempFile() (two separate > implementations for Unix and Windows), which seems to solve the same > problem. It returns a TclFile object, not a file descriptor. > > Can/should Naviserver's existing users of mkstemp() be modified to > instead work with TclpCreateTempFile()? Or will that not quite work, > and we should borrow some of the Windows version of > TclpCreateTempFile() for direct use in Naviserver? > ---------------------------------------------------------------------------- -- 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 nav...@li... https://lists.sourceforge.net/lists/listinfo/naviserver-devel |
From: Gustaf N. <ne...@wu...> - 2014-09-26 12:13:10
|
Dear Andrew, We have to be careful on licence mixes. The tcl8.5 version of TclpCreateTempFile uses already mkstemp, but the windows implemetation looks like a slim approach for a win32 implementation (aside of the TclFile handling) using CreateFile* and the appropriate flags to make the file a temp file... -g On 26.09.14 02:51, Andrew Piskorski wrote: > mkstemp() does not exist on Windows, and Naviserver uses it in three > places: > > $ find . -name "*.[ch]" -print | xargs grep -in mkstemp > ./nsd/adpeval.c:1183: fd = mkstemp(debugfile); > ./nsd/tclhttp.c:426: fd = mkstemp(httpPtr->spoolFileName); > ./nsd/driver.c:2301: sockPtr->tfd = mkstemp(sockPtr->tfile); > > We could stick in our own mkstemp() implementation. Some starting > points for that may be: > > http://stackoverflow.com/questions/6036227/mkstemp-implementation-for-win32 > http://sourceforge.net/p/mingw/bugs/2003/ > > But Tcl 8.4 and later already have TclpCreateTempFile() (two separate > implementations for Unix and Windows), which seems to solve the same > problem. It returns a TclFile object, not a file descriptor. > > Can/should Naviserver's existing users of mkstemp() be modified to > instead work with TclpCreateTempFile()? Or will that not quite work, > and we should borrow some of the Windows version of TclpCreateTempFile() > for direct use in Naviserver? > |
From: Gustaf N. <ne...@wu...> - 2014-09-26 11:35:22
|
The change [1] should fix the windows behavior (after inspecting an obviously different version of sdkddkver.h, but i can't spot anything else looking suspicious). Does anyone know, why we have a define for _WIN32_WINNT in our sources? Windows should know, what version it has. Maybe a leftover? Andrew, can you check, what happens, if we remove it? -g [1] https://bitbucket.org/naviserver/naviserver/commits/b743a8847dd01704ffdcfe98cc8a95a80ad7eea1 [2] http://sourceforge.net/p/mingw/mingw-org-wsl/ci/9313d16b81162e4d6f58aa5b4a08d16dbcbccdb6/tree/include/sdkddkver.h On 26.09.14 04:59, Andrew Piskorski wrote: > Uh oh, Gustaf, I just merged your recent changes into my fork, and now > when I try to compile anything, it immediately fails with: > > C:\Program Files\Microsoft SDKs\Windows\v7.1\INCLUDE\sdkddkver.h(246) : fatal error C1012: unmatched parenthesis : missing ')' > NMAKE : fatal error U1077: '"C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\Bin\amd64\cl.EXE"' : return code '0x2' > Stop. |
From: Andrew P. <at...@pi...> - 2014-09-26 02:59:21
|
Uh oh, Gustaf, I just merged your recent changes into my fork, and now when I try to compile anything, it immediately fails with: C:\Program Files\Microsoft SDKs\Windows\v7.1\INCLUDE\sdkddkver.h(246) : fatal error C1012: unmatched parenthesis : missing ')' NMAKE : fatal error U1077: '"C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\Bin\amd64\cl.EXE"' : return code '0x2' Stop. Likely some Naviserver header file is broken? But only on Windows, it compiles fine on Linux. Any ideas which change it might have been? It seems to be something within these two commits: changeset: 2635:f3d007d12140 date: Tue Jun 18 09:04:55 2013 +0200 changeset: 2866:67bab25f9837 date: Thu Sep 25 11:31:02 2014 +0200 I've no idea what though. I tried "hg bisect" but it refused to do anything; it seems to be confused by the way the Bitbucket fork and merge was done. -- Andrew Piskorski <at...@pi...> |
From: Andrew P. <at...@pi...> - 2014-09-26 02:55:45
|
I got the core server to build on Windows. My changes to make that work are here: https://bitbucket.org/apiskors/naviserver https://bitbucket.org/naviserver/naviserver/pull-request/2/changes-to-build-on-windows My changes could definitely use review; my portability tweaks to the C code, etc. Note that I haven't actually solved the mkstemp() problem at all, I just stubbed in a fake function so the code would build. To build on Window with the Microsoft compiler, all you should need to do is make a trivial edit to "naviserver/include/Makefile.build". At the end of that file, comment out the "Makefile.module" line and use the "Makefile.win32" line instead. Then to build, at a Windows command prompt I do: set MY_MSDK="C:\Program Files\Microsoft SDKs\Windows\v7.1" "%MY_MSDK%\Bin\SetEnv.Cmd" /Debug /x64 /win7 z: & cd Z:\ns-fork\naviserver nmake -f Makefile.win32 NAVISERVER=C:\nsd-test -- Andrew Piskorski <at...@pi...> |