Implementation Notes
Prev | Chapter 1. Compatibility | Next

## Implementation Notes

`chroot` only emulates a chroot function call by keeping track of the current root and accomodating this in the file related function calls. A real chroot functionality is not supported by Windows however.

`clock_getres`, `clock_gettime` and `clock_setres` only support CLOCK_REALTIME for now.

`fpclassify`, `isfinite`, `isgreater`, `isgreaterequal`, `isinf`, `isless`, `islessequal`, `islessgreater`, `isnan`, `isnormal`, `isunordered`, and `signbit` only support float and double arguments, not long double arguments.

`getitimer` and `setitimer` only support ITIMER_REAL for now.

`link` will copy the file if it can't implement a true hardlink. This is true at least for FAT and FAT32 filesystems. NTFS supports hardlinks.

`lseek` only works properly on binary files.

`setuid` is only safe against reverting the user switch after a call to one of the exec(2) functions took place. Windows doesn't support a non-revertable user switch within the context of Win32 processes.

`vfork` just calls `fork`.

`vhangup` always returns -1 and sets errno to ENOSYS.

The XSI IPC functions `semctl`, `semget`, `semop`, `shmat`, `shmctl`, `shmdt`, `shmget`, `msgctl`, `msgget`, `msgrcv` and `msgsnd` are only available when cygserver is running and the `CYGWIN` environment variable is set so that it contains the string `server`.

Prev | Up | Next
NOT implemented system interfaces from the Single Unix Specification, Volume 3: | Home | Chapter 2. Cygwin Functions