Ignore:
Timestamp:
Feb 13, 2008 3:17:28 PM (16 years ago)
Author:
bennylp
Message:

Ticket #474: option in ioqueue to control concurrency (to allow/disallow simultaneous/multiple callback calls)

File:
1 edited

Legend:

Unmodified
Added
Removed
  • pjproject/trunk/pjlib/include/pj/config.h

    r1788 r1789  
    286286#   undef PJ_EXCEPTION_USE_WIN32_SEH 
    287287#   undef PJ_HAS_ERROR_STRING 
     288 
     289#   define PJ_HAS_IPV6  1 
    288290#endif 
    289291 
     
    510512#ifndef PJ_IOQUEUE_HAS_SAFE_UNREG 
    511513#   define PJ_IOQUEUE_HAS_SAFE_UNREG    1 
     514#endif 
     515 
     516 
     517/** 
     518 * Default concurrency setting for sockets/handles registered to ioqueue. 
     519 * This controls whether the ioqueue is allowed to call the key's callback 
     520 * concurrently/in parallel. The default is yes, which means that if there 
     521 * are more than one pending operations complete simultaneously, more 
     522 * than one threads may call the key's callback at the same time. This 
     523 * generally would promote good scalability for application, at the  
     524 * expense of more complexity to manage the concurrent accesses. 
     525 * 
     526 * Please see the ioqueue documentation for more info. 
     527 */ 
     528#ifndef PJ_IOQUEUE_DEFAULT_ALLOW_CONCURRENCY 
     529#   define PJ_IOQUEUE_DEFAULT_ALLOW_CONCURRENCY   1 
     530#endif 
     531 
     532 
     533/* Sanity check: 
     534 *  if ioqueue concurrency is disallowed, PJ_IOQUEUE_HAS_SAFE_UNREG 
     535 *  must be enabled. 
     536 */ 
     537#if (PJ_IOQUEUE_DEFAULT_ALLOW_CONCURRENCY==0) && (PJ_IOQUEUE_HAS_SAFE_UNREG==0) 
     538#   error PJ_IOQUEUE_HAS_SAFE_UNREG must be enabled if ioqueue concurrency \ 
     539          is disabled 
    512540#endif 
    513541 
Note: See TracChangeset for help on using the changeset viewer.