Вы можете использовать цикл while вместо find
, который не реализован.
Если вы хотите удалить более одного, удалите оператор break
.
var index = array.length;
while (index--) {
if (array[index].name === 'email') {
array.splice(index, 1);
break;
}
}
int oldfl;
oldfl = fcntl(sockfd, F_GETFL);
if (oldfl == -1) {
/* handle error */
}
fcntl(sockfd, F_SETFL, oldfl & ~O_NONBLOCK);
Непротестированный, но надежда это помогает.:-)
Попробованное сбрасывание всех флагов:
fcntl(sockfd, F_SETFL, 0);
Также осуществление операции ИЛИ флаги с ~O_NONBLOCK
бесполезно, Вы должны И это, начиная с того, что Вы хотите, должен сбросить бит (биты) O_NONBLOCK.