A working version of select() is included with the emx/gcc libraries. See the emx/gcc documentation for more information on its usage.
A working version of fork() comes with the emx/gcc libraries. The author cautions that this is not the way to multitask, though, because it eats up a lot of resources (since it literally duplicates the current process, leaving everything but the PID unchanged). _beginthread() is the suggested solution if at all possible.