Mike
On 10/17/06, Doug Currie <doug.currie@gmail.com> wrote:
> Tuesday, October 17, 2006, 7:03:04 PM, Natanael Copa wrote:
>
> > The question is what posix funcs can't windows do, and then maybe do
> > something special there. Is there a list of posix things windows can't
> > do?
>
> Superficially things look quite rosy; then you hit a brick wall. Off
> the top of my head...
>
> File descriptors in posix and HANDLES in Windows are not quite
> equivalent. For example, select() in posix can use a file descriptor
> to a file or socket, whereas in Windows only sockets work. There are
> probably many similar issues with streams, standard I/O, process
> handle inheritance, ownership, permissions, etc.
>
> Symlinks are difficult. There have been attempts using NTFS reparse
> points, but the semantics of these links differ from UNIX symlinks.
> http://svn.haxx.se/dev/archive-2004-10/1023.shtml
>
> Windows has a root directory and a current directory on each drive.
> There is no single root directory "/"
>
> Timers and time accounting are quite different. gettimeofday() can be
> a real bear to emulate correctly; google for all the bug reports to
> see what I mean.
>
> Signals work much differently. Windows uses different mechanisms.
>
> Windows threads are fine, but different from pthreads, e.g., no condition
> variables.
>
> The conformance page at
> http://sourceware.org/pthreads-win32/conformance.html
> will give you an idea of what's hard to do in the process/threads
> area. sigwait() is not implemented, for example.
>
> e
>
> --
> Doug Currie
> Londonderry, NH
>
>