ACE sleep on Linux and Windows

Today I found one significant difference in running ACE on Windows and Linux.
Consider the following statement:

 ACE_OS::sleep(0xFFFFFFF1);

The effect is:

  1. On Windows this will force the thread to sleep for 4294967281 seconds.
  2. On Linux this command is processed immediately.

At this moment I don’t know why this happens.
I tried with value 0×0FFFFFF1 on Linux and it went fine just like I planned.
However, the value of 0xFFFFFFF1 seems to be treated in different way on Linux with gcc 3.2.3.

Leave a Reply