add: fd_set_close_on_exec(context, fd, false);
context: remove_fd(struct io_context *context, int fd){	struct file_descriptor *descriptor = NULL;	if (fd < 0)		return NULL;	mutex_lock(&context->io_mutex);	if ((uint32)fd < context->table_size)		descriptor = context->fds[fd];	if (descriptor)	{	// fd is valid		context->fds[fd] = NULL;		context->num_used_fds--;	}	mutex_unlock(&context->io_mutex);	return descriptor;}