Although Java API's specify sleep and wait values as 64-bit, we only use 32 bits

XMLWordPrintable

    • Type: Bug
    • Resolution: Won't Fix
    • Priority: P4
    • None
    • Affects Version/s: 1.0.2, 1.2.0
    • Component/s: hotspot
    • sparc
    • solaris_2.5, solaris_2.5.1

      The Java API's specify sleep and wait values as 64-bit Java longs, which
      leads one to expect that we mean that. It's not so, as the internal
      routines responsible for implementing the waits and sleeps, mainly
      monitorWait(), take C int's, and values greater than Integer.MAX_INT are
      limited to Integer.MAX_INT. This means we can't do sleeps longer than
      Integer.MAX_INT millis, which is something like a month. People have
      already wanted to do so, say for a time bomb on a server.

      I'd thought that this would be a problem to fix because I'd thought that
      monitorWait was exported via the JIT API, but that turns out to be not
      so. Instead, it's just a pain having to deal with all these 64-bit
      thingies.

            Assignee:
            Tom Rodriguez
            Reporter:
            Timothy Lindholm (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

              Created:
              Updated:
              Resolved:
              Imported:
              Indexed: