Changeset 1986


Ignore:
Timestamp:
Jun 6, 2008 2:12:23 PM (11 years ago)
Author:
bennylp
Message:

More ticket #531: added user_data parameter in activesocket creation API to make it more robust against programming errors

Location:
pjproject/trunk/pjlib
Files:
3 edited

Legend:

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

    r1953 r1986  
    228228 * @param cb            Pointer to structure containing application 
    229229 *                      callbacks. 
     230 * @param user_data     Arbitrary user data to be associated with this 
     231 *                      active socket. 
    230232 * @param p_asock       Pointer to receive the active socket instance. 
    231233 * 
     
    239241                                          pj_ioqueue_t *ioqueue, 
    240242                                          const pj_activesock_cb *cb, 
     243                                          void *user_data, 
    241244                                          pj_activesock_t **p_asock); 
    242245 
     
    254257 * @param cb            Pointer to structure containing application 
    255258 *                      callbacks. 
     259 * @param user_data     Arbitrary user data to be associated with this 
     260 *                      active socket. 
    256261 * @param p_asock       Pointer to receive the active socket instance. 
    257262 * @param bound_addr    If this argument is specified, it will be filled with 
     
    266271                                              pj_ioqueue_t *ioqueue, 
    267272                                              const pj_activesock_cb *cb, 
     273                                              void *user_data, 
    268274                                              pj_activesock_t **p_asock, 
    269275                                              pj_sockaddr *bound_addr); 
  • pjproject/trunk/pjlib/src/pj/activesock.c

    r1962 r1986  
    9898                                          pj_ioqueue_t *ioqueue, 
    9999                                          const pj_activesock_cb *cb, 
     100                                          void *user_data, 
    100101                                          pj_activesock_t **p_asock) 
    101102{ 
     
    115116    asock->async_count = (opt? opt->async_cnt : 1); 
    116117    asock->max_loop = PJ_ACTIVESOCK_MAX_LOOP; 
     118    asock->user_data = user_data; 
    117119    pj_memcpy(&asock->cb, cb, sizeof(*cb)); 
    118120 
     
    144146                                              pj_ioqueue_t *ioqueue, 
    145147                                              const pj_activesock_cb *cb, 
     148                                              void *user_data, 
    146149                                              pj_activesock_t **p_asock, 
    147150                                              pj_sockaddr *bound_addr) 
     
    169172 
    170173    status = pj_activesock_create(pool, sock_fd, pj_SOCK_DGRAM(), opt, 
    171                                   ioqueue, cb, p_asock); 
     174                                  ioqueue, cb, user_data, p_asock); 
    172175    if (status != PJ_SUCCESS) { 
    173176        pj_sock_close(sock_fd); 
  • pjproject/trunk/pjlib/src/pjlib-test/activesock.c

    r1953 r1986  
    115115 
    116116    status = pj_activesock_create_udp(pool, &addr, NULL, ioqueue, &activesock_cb,  
    117                                       &srv->asock, &addr); 
     117                                      srv, &srv->asock, &addr); 
    118118    if (status != PJ_SUCCESS) { 
    119119        pj_sock_close(sock_fd); 
     
    124124    srv->port = pj_ntohs(addr.ipv4.sin_port); 
    125125 
    126     pj_activesock_set_user_data(srv->asock, srv); 
    127126    pj_ioqueue_op_key_init(&srv->send_key, sizeof(srv->send_key)); 
    128127 
Note: See TracChangeset for help on using the changeset viewer.