Uploaded image for project: 'FreeSWITCH'
  1. FreeSWITCH
  2. FS-6292 NetBSD Support
  3. FS-6294

System differences of kqueue/kevent stop compilation on NetBSD

    XMLWordPrintable

    Details

    • Type: Sub-task
    • Status: Closed
    • Priority: Minor
    • Resolution: Fixed
    • Affects Version/s: 1.5, 1.2.22
    • Fix Version/s: 1.5
    • Component/s: mod_sofia
    • Labels:
      None
    • CPU Architecture:
      x86
    • Kernel:
      NetBSD
    • Userland:
      NetBSD
    • Distribution:
      NetBSD
    • Distribution Version:
      NetBSD 6.x
    • Compiler:
      gcc
    • FreeSWITCH GIT Revision:
      ecd6dfc612b8c0af03df8864eeb95080bd7a31ea
    • GIT Master Revision hash::
      ecd6dfc612b8c0af03df8864eeb95080bd7a31ea
    • Target Version:
      1.5

      Description

      Compilation of:
      libs/sofia-sip/libsofia-sip-ua/su/su_kqueue_port.c
      stops with warnings such as:
      su_kqueue_port.c: In function 'su_kqueue_port_register':
      su_kqueue_port.c:260:3: warning: assignment makes integer from pointer without a cast

      Quoting from: https://github.com/libevent/libevent
      "Some platforms apparently define the udata field of struct kevent as intptr_t, whereas others define it as void*."

      NetBSD wants (intptr_t) but the source currently has (void*)(intptr_t).

      Continuing from libevent:
      "There doesn't seem to be an easy way to tell them apart via autoconf, so we need to use OS macros."

      I have adapted the INT_TO_UDATA macro from libevent and supplied a suggested patch using that logic.

        Attachments

          Activity

            People

            • Assignee:
              anthm Anthony Minessale II
              Reporter:
              metay1 Michael Taylor
            • Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: