sorry for the slow replies, but i was down for a couple of days.
the compatibility changes for windows are far from being finished.  the
NS_EXPORT situation is a mess, not being able to write to the log file
in an error situation is not really an option.

Rather than commenting out error messages, the better option is probably
to move the ns.h include to the end and add warning lines, since reentrant.c
contains no NS_EXTERN etc.

i would not be surprised, if the same problem shows under windows as
well in some modules.

-g





Am 01.10.14 21:12, schrieb Andrew Piskorski:
> 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 <neum...@wu-wien.ac.at>
> 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
>


-- 
Univ.Prof. Dr. Gustaf Neumann
WU Vienna
Institute of Information Systems and New Media
Welthandelsplatz 1, A-1020 Vienna, Austria


------------------------------------------------------------------------------
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