Hello,

From the code, it is *very* clear that the programmer (not me) knew that
the code was not portable.  He provided what appears to be correct
#ifdefing to handle the case, including the appropriate modifications to
configure.in to detect whether or not accept4() exists.  The programmer
handled this situation in the same way that Bacula has been handling
similar situations for almost 20 years now ...

Best regards,
Kern

On 3/1/19 7:11 PM, Dmitri Maziuk via Bacula-users wrote:
> On 3/1/2019 10:10 AM, Josh Fisher wrote:
>>
>> On 3/1/2019 6:34 AM, Kern Sibbald wrote:
>
>>> At this point, my best assessment is that there is a bug in the Zyxel
>>> libraries.
>>
>>
>> It is certainly a bug in the Zyxel libraries. The accept4() is
>> throwing a ENOSYS, meaning that the function is simply not
>> implemented. It seems the header file being used (sys/socket.h) does
>> not match the installed library.
>>
>> Nevertheless, accept4() is a convenience extension and it doesn't
>> seem worth potentially breaking some platforms to save one or two
>> fcntl() calls.
>
> My point was, what are the chances the programmer had no clue about
> accept4() being non-portable non-POSIX gunk in the first place? One
> wonders what flags are actually being passed to the call in question.
>
> (Yes, I've built GNU stuff on SPARC Solaris with Sun Studio. That's
> where contempt for libtool and "gunk" pronunciation of "GNU C" comes
> from.)
>
> Dima
>
>
> _______________________________________________
> Bacula-users mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/bacula-users
>



_______________________________________________
Bacula-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/bacula-users

Reply via email to