Hjælp til forståelse af pipe's error-handlings kode
Jeg søger en forklaring af pipe's error handlings kode:int sys_pipe(unsigned long * fildes)
{
int fd[2];
int error;
error = do_pipe(fd);
if (!error) {
if (copy_to_user(fildes, fd, sizeof(fd)))
error = -EFAULT;
}
return error;
}
Jeg kan forstå at den melder fejl hvis der forsøges at tilgå adgang til forbudt memory-område, men jeg forstår ikke hvordan denne kode sikre det. Det er især variablen fd[2] jeg ikke forstår funktionen af.