ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/svn/ircd-hybrid/src/packet.c
(Generate patch)

Comparing ircd-hybrid/src/packet.c (file contents):
Revision 627 by michael, Sat Feb 11 12:26:18 2006 UTC vs.
Revision 628 by adx, Mon May 29 20:04:32 2006 UTC

# Line 31 | Line 31
31   #include "packet.h"
32   #include "send.h"
33  
34 #define READBUF_SIZE 16384
35
34   struct Callback *iorecv_cb = NULL;
35   struct Callback *iorecvctrl_cb = NULL;
36  
# Line 421 | Line 419 | read_packet(fde_t *fd, void *data)
419        /* translate openssl error codes, sigh */
420        if (length < 0)
421          switch (SSL_get_error(fd->ssl, length))
422 <        {
422 >        {
423            case SSL_ERROR_WANT_WRITE:
424              fd->flags.pending_read = 1;
425 <            SetSendqBlocked(client_p);
426 <            comm_setselect(fd, COMM_SELECT_WRITE, (PF *) sendq_unblocked,
427 <                           client_p, 0);
428 <            return;
429 <          case SSL_ERROR_WANT_READ:
430 <            errno = EWOULDBLOCK;
425 >            SetSendqBlocked(client_p);
426 >            comm_setselect(fd, COMM_SELECT_WRITE, (PF *) sendq_unblocked,
427 >                           client_p, 0);
428 >            return;
429 >          case SSL_ERROR_WANT_READ:
430 >            errno = EWOULDBLOCK;
431            case SSL_ERROR_SYSCALL:
432 <            break;
432 >            break;
433            case SSL_ERROR_SSL:
434              if (errno == EAGAIN)
435                break;
436            default:
437 <            length = errno = 0;
438 <        }
437 >            length = errno = 0;
438 >        }
439      }
440      else
441   #endif

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines