Changeset 4424

Show
Ignore:
Timestamp:
01/25/07 15:28:52 (2 years ago)
Author:
morris
Message:

Introduce wi_socket_state_t

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • libwired/trunk/libwired/net/wi-socket.c

    r4422 r4424  
    895895 
    896896 
    897 wi_boolean_t wi_socket_wait(wi_socket_t *socket, wi_time_interval_t timeout) { 
     897wi_socket_state_t wi_socket_wait(wi_socket_t *socket, wi_time_interval_t timeout) { 
    898898        return wi_socket_wait_descriptor(socket->sd, 
    899899                                                                         timeout, 
     
    904904 
    905905 
    906 wi_boolean_t wi_socket_wait_descriptor(int sd, wi_time_interval_t timeout, wi_boolean_t read, wi_boolean_t write) { 
     906wi_socket_state_t wi_socket_wait_descriptor(int sd, wi_time_interval_t timeout, wi_boolean_t read, wi_boolean_t write) { 
    907907        struct timeval  tv; 
    908908        fd_set                  rfds, wfds; 
     
    922922        state = select(sd + 1, &rfds, &wfds, NULL, (timeout > 0.0) ? &tv : NULL); 
    923923         
    924         if(state < 0) 
     924        if(state < 0) { 
    925925                wi_error_set_errno(errno); 
     926                 
     927                return WI_SOCKET_ERROR; 
     928        } 
    926929        else if(state == 0) 
    927                 wi_error_set_errno(ETIMEDOUT)
    928          
    929         return (state > 0)
     930                return WI_SOCKET_TIMEOUT
     931         
     932        return WI_SOCKET_READY
    930933} 
    931934 
  • libwired/trunk/libwired/net/wi-socket.h

    r4422 r4424  
    6565 
    6666 
     67enum _wi_socket_state { 
     68        WI_SOCKET_READY, 
     69        WI_SOCKET_ERROR, 
     70        WI_SOCKET_TIMEOUT 
     71}; 
     72typedef enum _wi_socket_state                   wi_socket_state_t; 
     73 
     74 
    6775WI_EXPORT wi_runtime_id_t                               wi_socket_context_runtime_id(void); 
    6876 
     
    108116 
    109117WI_EXPORT wi_socket_t *                                 wi_socket_wait_multiple(wi_array_t *, wi_time_interval_t); 
    110 WI_EXPORT wi_boolean_t                                wi_socket_wait(wi_socket_t *, wi_time_interval_t); 
    111 WI_EXPORT wi_boolean_t                                wi_socket_wait_descriptor(int, wi_time_interval_t, wi_boolean_t, wi_boolean_t); 
     118WI_EXPORT wi_socket_state_t                           wi_socket_wait(wi_socket_t *, wi_time_interval_t); 
     119WI_EXPORT wi_socket_state_t                           wi_socket_wait_descriptor(int, wi_time_interval_t, wi_boolean_t, wi_boolean_t); 
    112120 
    113121WI_EXPORT wi_boolean_t                                  wi_socket_listen(wi_socket_t *, wi_uinteger_t);