On Wed, Sep 5, 2018 at 9:23 AM, Thomas Stüfe <[email protected]> wrote:
> > Since all this happens between vfork and exec we cannot do any decent > error handling here. Even what little we do is way outside the allowed > spec for vfork(). > Well we do have a fallback if closeDescriptors fails. But on closer inspection we don't check for error conditions in readdir http://pubs.opengroup.org/onlinepubs/9699919799/functions/readdir.html Upon successful completion, *readdir*() shall return a pointer to an object of type *struct dirent*. When an error is encountered, a null pointer shall be returned and *errno* shall be set to indicate the error. When the end of the directory is encountered, a null pointer shall be returned and *errno* is not changed. So before the readdir loop we should set errno to 0. Then when readdir returns NULL, we should check whether errno is non-zero. --- We do have a way of reporting errno to the parent. See WhyCantJohnnyExec.
