[omniORB] AIX

Boris Khanales boris@imagine-sw.com
Wed, 5 Jan 2000 12:41:51 -0500 (EST)


I've sent out question about omni_thread::sleep.
There is some more info:

I've changed powerpc_aix_4.2.mk
OMNITHREAD_POSIX_CPPFLAGS = -DNoNanoSleep -DPthreadDraftVersion=10
Than I had to add
#if defined(__aix__)
#include <unistd.h>
#endif
in posix.cc othrwise it doesn't compile.
As you can see I'm using 
#elif defined(__linux__) || defined(__aix__)

    if (secs > 2000) {
	::sleep(secs);
    } else {
	usleep(secs * 1000000 + (nanosecs / 1000));
    }

#else
for sleep implementation.

The "normal" implementation is
#ifndef NoNanoSleep

    if (nanosleep(&rqts, (timespec*)NULL) != 0)
	throw omni_thread_fatal(errno);
#else
but it always throws exception.

I'm not AIX user/developer and I do not think I've done
right things. If sombody has any idea about right way of doing
it, I'd love to know. If i'm missin some patches or ...

Thank You.