Branch: Tag:

2014-05-02

2014-05-02 15:12:22 by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compat: 7.8::SSL.sslfile: Make sure not to hang on destruct.

Applies the "SSL.sslfile: Make sure not to hang on destruct." fix from
Pike 7.8 in the Pike 7.8 compat SSL module:

The destruct callbac could hang in the local backend when attempting
to close the connection cleanly. Make sure that the local backend
doesn't wait for I/O completion in this case.

Fixes [bug 7066].

634:    RETURN (0);    }, 0);    -  if (close_packet_send_state == CLOSE_PACKET_NOT_SCHEDULED) +  if (dont_throw) { +  close_packet_send_state = CLOSE_PACKET_MAYBE_IGNORED_WRITE_ERROR; +  } else if (close_packet_send_state == CLOSE_PACKET_NOT_SCHEDULED)    close_packet_send_state = CLOSE_PACKET_SCHEDULED;       // Even in nonblocking mode we call direct_write here to try to