diff options
Diffstat (limited to 'src/anet.c')
-rw-r--r-- | src/anet.c | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/src/anet.c b/src/anet.c index bde460fc8..3ded135b0 100644 --- a/src/anet.c +++ b/src/anet.c @@ -49,6 +49,8 @@ #include "anet.h" #include "config.h" +#define UNUSED(x) (void)(x) + static void anetSetError(char *err, const char *fmt, ...) { va_list ap; @@ -680,3 +682,18 @@ error: close(fds[1]); return -1; } + +int anetSetSockMarkId(char *err, int fd, uint32_t id) { +#ifdef HAVE_SOCKOPTMARKID + if (setsockopt(fd, SOL_SOCKET, SOCKOPTMARKID, (void *)&id, sizeof(id)) == -1) { + anetSetError(err, "setsockopt: %s", strerror(errno)); + return ANET_ERR; + } + return ANET_OK; +#else + UNUSED(fd); + UNUSED(id); + anetSetError(err,"anetSetSockMarkid unsupported on this platform"); + return ANET_OK; +#endif +} |