You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
He's chased it down to a change in how SD_RDWR is defined. He writes:
This is a build on FreeBSD 15 (still in development), so I had to spin
up a VM with that running to see the problem.
In FreeBSD 15, they have replaced (in socket.h), this:
/*
howto arguments for shutdown(2), specified by Posix.1g. /
#define SHUT_RD 0 / shut down the reading side /
#define SHUT_WR 1 / shut down the writing side /
#define SHUT_RDWR 2 / shut down both sides */
with this:
/*
howto arguments for shutdown(2), specified by Posix.1g. /
enum shutdown_how {
SHUT_RD = 0, / shut down the reading side /
SHUT_WR, / shut down the writing side /
SHUT_RDWR / shut down both sides */
};
So the test for 'defined' doesn't work any more.
Conditional hacking is beyond my pay grade, but I do know that enums won't work in #if defined statements.
The text was updated successfully, but these errors were encountered:
Bob Eager wrote that an upcoming version of FreeBSD produces this compilation error:
sim_sock.c:1257:16: error: use of undeclared identifier 'SD_BOTH'
1257 | shutdown(sock, SD_BOTH);
| ^
1 error generated.
The problem stems from this macro definition near the top of "sim_sock.c":
#if defined(SHUT_RDWR) && !defined(SD_BOTH)
#define SD_BOTH SHUT_RDWR
#endif
He's chased it down to a change in how SD_RDWR is defined. He writes:
Conditional hacking is beyond my pay grade, but I do know that enums won't work in #if defined statements.
The text was updated successfully, but these errors were encountered: