[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [libmicrohttpd] syscalls name clash
From: |
Evgeny Grin |
Subject: |
Re: [libmicrohttpd] syscalls name clash |
Date: |
Sat, 19 Apr 2014 05:03:36 +0400 |
Just add a configure test and add to platform_interface.h (rough example)
#if defined(MHD_USE_FCNTL2)
#define MHD_fctrl_(a,b) fcntl2((a),(b))
#elif defined(MHD_USE_FCNTL3)
#define MHD_fctrl_(a,b) fcntl3((a),(b),0)
#endif
Best Wishes,
Evgeny
19.04.2014, 02:50, "Christian Grothoff" <address@hidden>:
> I don't see a problem with the fcntl_2/3 approach. However,
> following existing naming conventions we should use
> MHD_fcntl2_ instead of MHD_FCNTL2.
>
> Happy hacking!
>
> Christian
>
> On 04/18/14 15:10, Martin Velek wrote:
>
>> Hi,
>>
>> I will manage it. There has to be one ugly hack. To support all
>> platforms (compilers), the MHD_FNCTL should be in the two forms.
>> MHD_FNCTL2(x,y) and MHD_FNCTL3(x,y,z). I am not sure whether variadic
>> macros are supported by all compilers (< C99). Some hints to overcome
>> it would be appreciated.
>>
>> Best
>> Martin
>>
>> On Fri, Apr 18, 2014 at 2:46 PM, Christian Grothoff <address@hidden> wrote:
>>> Hi!
>>>
>>> Given that I remember Symbian also creating similar issues, I guess I'm
>>> not opposed to this in principle. However, we should only do this for
>>> the symbols where it is really needed, instead of always wrapping all
>>> system calls (and use #defines so that on platforms where the system
>>> call is sane, we have zero overhead).
>>>
>>> So Martin, if you could contribute
>>> 1) a patch with the minimal changes that make it work for you,
>>> 2) updates to the TeXInfo manual that describe how to make MHD
>>> work with lwip (so that others can benefit from the change)
>>>
>>> I'd be in favor of merging the change.
>>>
>>> Happy hacking!
>>>
>>> Christian
>>>
>>> On 04/14/14 20:29, Martin Velek wrote:
>>>> Hi,
>>>>
>>>> it is about using libmicrohttpd on non-POSIX enviroment. More users,
>>>> more bugs discovered, and so on. I do not insist, it is only a feature
>>>> request.
>>>>
>>>> I cannot say if there is another software affected, most of it I am
>>>> using is ANSI C or has an adaptation layer exactly from these reasons
>>>> (non standard enviroment).
>>>>
>>>> Best
>>>> Martin
>>>>
>>>> On Mon, Apr 14, 2014 at 2:51 PM, Zbigniew Jędrzejewski-Szmek
>>>> <address@hidden> wrote:
>>>>> On Mon, Apr 14, 2014 at 02:29:58PM +0200, Martin Velek wrote:
>>>>>> Hello,
>>>>>>
>>>>>> could be possible to rename all socket functions (fnctl, send, accept
>>>>>> etc) to something like MHD_FNCTL, MHD_SEND, in further versions >
>>>>>> 0.9.34?
>>>>>>
>>>>>> I am using lwip, gnu arm with newlib and there is a name clash for
>>>>>> fnctl. The newlib has a function named fnctl, but without
>>>>>> implementation, returning -1. The lwip has own implementation of
>>>>>> lwip_fnctl. I cannot simply define #define fnctl lwip_fnctl because it
>>>>>> would break all code using libmicrohttpd.
>>>>> Hi,
>>>>> it seems clear that the problem is in lwip, and should be fixed there.
>>>>> Why
>>>>> force ugly workarounds into all other software (lib痛ttpd certainly isn't
>>>>> the only thing affected), instead of fixing the error where it is?
>>>>>
>>>>> Zbyszek
--
Best Wishes,
Evgeny Grin