This looks like nth reincarnation of "reactor". It implements the poll/select/WaitForMultipleObjects and message passing functionality.
#include "config.h"
#include <stdlib.h>
#include <assert.h>
#include <stdarg.h>
#include <stdio.h>
#include <string.h>
#include <limits.h>
#include <errno.h>
#include "su_port.h"
#include "sofia-sip/su_osx_runloop.h"
#include "sofia-sip/su_alloc.h"
#include "sofia-sip/su_debug.h"
Include dependency graph for su_osx_runloop.c:

Functions | |
| su_root_t * | su_root_osx_runloop_create (su_root_magic_t *magic) |
| Create a reactor object. | |
| void | su_root_osx_prepare_run (su_root_t *root) |
| Prepare root to be run on OSX Run Loop. | |
| void su_root_osx_prepare_run | ( | su_root_t * | root | ) |
Prepare root to be run on OSX Run Loop.
Sets su_root_t object to be callable by the application's run loop. This function is to be used instead of su_root_run() for OSX applications using Core Foundation's Run Loop.
The function su_root_osx_prepare_run() returns immmediately.
| root | pointer to root object |
| su_root_t* su_root_osx_runloop_create | ( | su_root_magic_t * | magic | ) |