Ignore:
Timestamp:
Jul 20, 2007 8:08:30 AM (12 years ago)
Author:
bennylp
Message:

Ticket #354: build PJLIB as dynamic libraries (.DSO) in Symbian

File:
1 edited

Legend:

Unmodified
Added
Removed
  • pjproject/trunk/pjlib/src/pjlib-test/ioq_udp.c

    r1235 r1405  
    134134    char *send_buf, *recv_buf; 
    135135    pj_ioqueue_t *ioque = NULL; 
    136     pj_ioqueue_key_t *skey, *ckey; 
     136    pj_ioqueue_key_t *skey = NULL, *ckey = NULL; 
    137137    pj_ioqueue_op_key_t read_op, write_op; 
    138138    int bufsize = BUF_MIN_SIZE; 
     
    153153    // Allocate sockets for sending and receiving. 
    154154    TRACE_("creating sockets..."); 
    155     rc = pj_sock_socket(PJ_AF_INET, PJ_SOCK_DGRAM, 0, &ssock); 
     155    rc = pj_sock_socket(pj_AF_INET(), pj_SOCK_DGRAM(), 0, &ssock); 
    156156    if (rc==PJ_SUCCESS) 
    157         rc = pj_sock_socket(PJ_AF_INET, PJ_SOCK_DGRAM, 0, &csock); 
     157        rc = pj_sock_socket(pj_AF_INET(), pj_SOCK_DGRAM(), 0, &csock); 
    158158    else 
    159159        csock = PJ_INVALID_SOCKET; 
     
    166166    TRACE_("bind socket..."); 
    167167    pj_bzero(&addr, sizeof(addr)); 
    168     addr.sin_family = PJ_AF_INET; 
     168    addr.sin_family = pj_AF_INET(); 
    169169    addr.sin_port = pj_htons(PORT); 
    170170    if (pj_sock_bind(ssock, &addr, sizeof(addr))) { 
     
    259259 
    260260        TRACE_("poll..."); 
     261#ifdef PJ_SYMBIAN 
     262        rc = pj_symbianos_poll(-1, 5000); 
     263#else 
    261264        rc = pj_ioqueue_poll(ioque, &timeout); 
     265#endif 
    262266 
    263267        if (rc == 0) { 
     
    286290                status=-68; goto on_error; 
    287291            } 
    288             if (addr.sin_family != PJ_AF_INET) { 
     292            if (addr.sin_family != pj_AF_INET()) { 
    289293                status=-69; goto on_error; 
    290294            } 
     
    313317 
    314318on_error: 
    315     if (ssock) 
     319    if (skey) 
     320        pj_ioqueue_unregister(skey); 
     321    else if (ssock != -1) 
    316322        pj_sock_close(ssock); 
    317     if (csock) 
     323     
     324    if (ckey) 
     325        pj_ioqueue_unregister(ckey); 
     326    else if (csock != -1) 
    318327        pj_sock_close(csock); 
     328     
    319329    if (ioque != NULL) 
    320330        pj_ioqueue_destroy(ioque); 
     
    373383 
    374384    /* Create sender socket */ 
    375     status = app_socket(PJ_AF_INET, PJ_SOCK_DGRAM, 0, SPORT, &ssock); 
     385    status = app_socket(pj_AF_INET(), pj_SOCK_DGRAM(), 0, SPORT, &ssock); 
    376386    if (status != PJ_SUCCESS) { 
    377387        app_perror("Error initializing socket", status); 
     
    380390 
    381391    /* Create receiver socket. */ 
    382     status = app_socket(PJ_AF_INET, PJ_SOCK_DGRAM, 0, RPORT, &rsock); 
     392    status = app_socket(pj_AF_INET(), pj_SOCK_DGRAM(), 0, RPORT, &rsock); 
    383393    if (status != PJ_SUCCESS) { 
    384394        app_perror("Error initializing socket", status); 
     
    436446    /* Check if packet is received. */ 
    437447    timeout.sec = 1; timeout.msec = 0; 
     448#ifdef PJ_SYMBIAN 
     449    pj_symbianos_poll(-1, 1000); 
     450#else 
    438451    pj_ioqueue_poll(ioqueue, &timeout); 
     452#endif 
    439453 
    440454    if (packet_cnt != 1) { 
     
    470484 
    471485    /* Poll ioqueue. */ 
     486#ifdef PJ_SYMBIAN 
     487    pj_symbianos_poll(-1, 1000); 
     488#else 
    472489    timeout.sec = 1; timeout.msec = 0; 
    473490    pj_ioqueue_poll(ioqueue, &timeout); 
     491#endif 
    474492 
    475493    /* Must NOT receive any packets after socket is closed! */ 
     
    525543    for (count=0; count<MAX; ++count) { 
    526544        sock[count] = PJ_INVALID_SOCKET; 
    527         rc = pj_sock_socket(PJ_AF_INET, PJ_SOCK_DGRAM, 0, &sock[count]); 
     545        rc = pj_sock_socket(pj_AF_INET(), pj_SOCK_DGRAM(), 0, &sock[count]); 
    528546        if (rc != PJ_SUCCESS || sock[count] == PJ_INVALID_SOCKET) { 
    529547            PJ_LOG(3,(THIS_FILE, "....unable to create %d-th socket, rc=%d",  
     
    592610    char *send_buf, *recv_buf; 
    593611    pj_ioqueue_t *ioque = NULL; 
    594     pj_ioqueue_key_t *skey, *ckey, *key; 
     612    pj_ioqueue_key_t *skey, *ckey, *keys[SOCK_INACTIVE_MAX+2]; 
    595613    pj_timestamp t1, t2, t_elapsed; 
    596614    int rc=0, i;    /* i must be signed */ 
     
    608626 
    609627    // Allocate sockets for sending and receiving. 
    610     rc = pj_sock_socket(PJ_AF_INET, PJ_SOCK_DGRAM, 0, &ssock); 
     628    rc = pj_sock_socket(pj_AF_INET(), pj_SOCK_DGRAM(), 0, &ssock); 
    611629    if (rc == PJ_SUCCESS) { 
    612         rc = pj_sock_socket(PJ_AF_INET, PJ_SOCK_DGRAM, 0, &csock); 
     630        rc = pj_sock_socket(pj_AF_INET(), pj_SOCK_DGRAM(), 0, &csock); 
    613631    } else 
    614632        csock = PJ_INVALID_SOCKET; 
     
    620638    // Bind server socket. 
    621639    pj_bzero(&addr, sizeof(addr)); 
    622     addr.sin_family = PJ_AF_INET; 
     640    addr.sin_family = pj_AF_INET(); 
    623641    addr.sin_port = pj_htons(PORT); 
    624642    if (pj_sock_bind(ssock, &addr, sizeof(addr))) 
     
    641659                              inactive_sock_count*sizeof(pj_ioqueue_op_key_t)); 
    642660    pj_bzero(&addr, sizeof(addr)); 
    643     addr.sin_family = PJ_AF_INET; 
     661    addr.sin_family = pj_AF_INET(); 
    644662    for (i=0; i<inactive_sock_count; ++i) { 
    645663        pj_ssize_t bytes; 
    646664 
    647         rc = pj_sock_socket(PJ_AF_INET, PJ_SOCK_DGRAM, 0, &inactive_sock[i]); 
     665        rc = pj_sock_socket(pj_AF_INET(), pj_SOCK_DGRAM(), 0, &inactive_sock[i]); 
    648666        if (rc != PJ_SUCCESS || inactive_sock[i] < 0) { 
    649667            app_perror("...error: pj_sock_socket()", rc); 
     
    657675        } 
    658676        rc = pj_ioqueue_register_sock(pool, ioque, inactive_sock[i],  
    659                                       NULL, &test_cb, &key); 
     677                                      NULL, &test_cb, &keys[i]); 
    660678        if (rc != PJ_SUCCESS) { 
    661679            pj_sock_close(inactive_sock[i]); 
     
    666684        } 
    667685        bytes = bufsize; 
    668         rc = pj_ioqueue_recv(key, &inactive_read_op[i], recv_buf, &bytes, 0); 
     686        rc = pj_ioqueue_recv(keys[i], &inactive_read_op[i], recv_buf, &bytes, 0); 
    669687        if (rc != PJ_EPENDING) { 
    670688            pj_sock_close(inactive_sock[i]); 
     
    736754        do { 
    737755            pj_time_val timeout = { 1, 0 }; 
     756#ifdef PJ_SYMBIAN 
     757            rc = pj_symbianos_poll(-1, 1000); 
     758#else 
    738759            rc = pj_ioqueue_poll(ioque, &timeout); 
     760#endif 
    739761            TRACE__((THIS_FILE, "     poll rc=%d", rc)); 
    740762        } while (rc >= 0 && callback_read_key != skey); 
     
    761783        do { 
    762784            pj_time_val timeout = { 0, 10 }; 
     785#ifdef PJ_SYMBIAN 
     786            rc = pj_symbianos_poll(-1, 100); 
     787#else        
    763788            rc = pj_ioqueue_poll(ioque, &timeout); 
     789#endif 
    764790        } while (rc>0); 
    765791 
     
    785811    // Cleaning up. 
    786812    for (i=inactive_sock_count-1; i>=0; --i) { 
    787         pj_sock_close(inactive_sock[i]); 
    788     } 
    789  
    790     pj_sock_close(ssock); 
    791     pj_sock_close(csock); 
     813        pj_ioqueue_unregister(keys[i]); 
     814    } 
     815 
     816    pj_ioqueue_unregister(skey); 
     817    pj_ioqueue_unregister(ckey); 
    792818 
    793819 
Note: See TracChangeset for help on using the changeset viewer.