fixed to initialize urem in __dev_writev()

added MIO_DEV_SCK_BIND_IGNERR
implemented MIO_DEV_PRO_INTONUL, MIO_DEV_PRO_OUTTONUL, MIO_DEV_PRO_ERRTONUL, MIO_DEV_PRO_DROPIN, MIO_DEV_PRO_DROPOUT, MIO_DEV_PRO_DROERR
This commit is contained in:
2020-05-24 01:18:32 +00:00
parent 7051862205
commit 1f8372f35d
8 changed files with 58 additions and 26 deletions

View File

@ -809,8 +809,11 @@ static int dev_sck_ioctl (mio_dev_t* dev, int cmd, void* arg)
int v = 1;
if (setsockopt(rdev->hnd, SOL_SOCKET, SO_REUSEADDR, &v, MIO_SIZEOF(v)) == -1)
{
mio_seterrbfmtwithsyserr (mio, 0, errno, "unable to set SO_REUSEADDR");
return -1;
if (!(bnd->options & MIO_DEV_SCK_BIND_IGNERR))
{
mio_seterrbfmtwithsyserr (mio, 0, errno, "unable to set SO_REUSEADDR");
return -1;
}
}
/* ignore it if not available
#else
@ -826,8 +829,11 @@ static int dev_sck_ioctl (mio_dev_t* dev, int cmd, void* arg)
int v = 1;
if (setsockopt(rdev->hnd, SOL_SOCKET, SO_REUSEPORT, &v, MIO_SIZEOF(v)) == -1)
{
mio_seterrbfmtwithsyserr (mio, 0, errno, "unable to set SO_REUSEPORT");
return -1;
if (!(bnd->options & MIO_DEV_SCK_BIND_IGNERR))
{
mio_seterrbfmtwithsyserr (mio, 0, errno, "unable to set SO_REUSEPORT");
return -1;
}
}
/* ignore it if not available
#else