Ignore:
Timestamp:
Nov 29, 2012, 2:06:31 PM (13 years ago)
Author:
Silvan Scherrer
Message:

Samba Server: updated trunk to 3.6.9 2nd part

Location:
trunk/server
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/server

  • trunk/server/lib/async_req/async_sock.c

    r745 r752  
    331331        struct async_connect_state *state =
    332332                tevent_req_data(req, struct async_connect_state);
    333 
    334         /*
    335          * Stevens, Network Programming says that if there's a
    336          * successful connect, the socket is only writable. Upon an
    337          * error, it's both readable and writable.
    338          */
    339         if ((flags & (TEVENT_FD_READ|TEVENT_FD_WRITE))
    340             == (TEVENT_FD_READ|TEVENT_FD_WRITE)) {
    341                 int ret;
    342 
    343                 ret = connect(state->fd,
    344                               (struct sockaddr *)(void *)&state->address,
    345                               state->address_len);
    346                 if (ret == 0) {
    347                         TALLOC_FREE(fde);
    348                         tevent_req_done(req);
    349                         return;
    350                 }
    351 
    352                 if (errno == EINPROGRESS) {
    353                         /* Try again later, leave the fde around */
    354                         return;
    355                 }
     333        int ret;
     334
     335        ret = connect(state->fd, (struct sockaddr *)(void *)&state->address,
     336                      state->address_len);
     337        if (ret == 0) {
     338                state->sys_errno = 0;
    356339                TALLOC_FREE(fde);
    357                 tevent_req_error(req, errno);
    358                 return;
    359         }
    360 
    361         state->sys_errno = 0;
    362         tevent_req_done(req);
     340                tevent_req_done(req);
     341                return;
     342        }
     343        if (errno == EINPROGRESS) {
     344                /* Try again later, leave the fde around */
     345                return;
     346        }
     347        state->sys_errno = errno;
     348        TALLOC_FREE(fde);
     349        tevent_req_error(req, errno);
     350        return;
    363351}
    364352
Note: See TracChangeset for help on using the changeset viewer.