Skip to content

6.34 release

Compare
Choose a tag to compare
@jfriesne jfriesne released this 14 Mar 21:28
· 1203 commits to master since this release

6.34 Released 3/14/2016

  • Added GetQThread() accessor methods to the Thread class. These
    methods are only available when MUSCLE_USE_QT_THREADS is defined.
  • Added support for a new preprocessor flag,
    MUSCLE_ENABLE_QTHREAD_EVENT_LOOP_INTEGRATION. When this flag
    is defined, the Thread::InternalThreadEntry() will use
    QThread::exec() as its event loop rather than a simple
    while(WaitForNextMessageFromOwner()) loop. This allows for
    better integration with QObjects living inside the thread.
  • Modified the ThreadedInternalSession class in the
    qt_advanced_example to use a QTimer for its periodic messages
    when MUSCLE_ENABLE_QTHREAD_EVENT_LOOP_INTEGRATION is defined,
    rather than calling WaitForNextMessageFromOwner(), just as an
    example of what can be done with better Qt integration.
    o Replaced the Thread class's writable GetInternalSocketSet()
    method with a more user-friendly API, including new methods
    RegisterInternalThreadSocket(), UnregisterInternalThreadSocket(),
    UnregisterAllInternalThreadSockets(), and IsInternalThreadSocketReady().
    o Replaced the Thread class's writable GetOwnerSocketSet()
    method with a more user-friendly API, including new methods
    RegisterOwnerThreadSocket(), UnregisterOwnerThreadSocket(),
    UnregisterAllOwnerThreadSockets(), and IsOwnerThreadSocketReady().
  • Fixed a potential stack overflow in PlainTextMessageIOGateway::
    DoOutputImplementation().
  • Removed some unnecessary "#include <pthread.h>" directives from
    the qt_advanced_example cpp files that were causing the example
    program not to build under Windows.
  • Added an #ifdef around IPAddressAndPort::WithInterfaceIndex()
    so that code will again compile if MUSCLE_AVOID_IPV6 is defined.