++ Bugfixes:
+ 2011-03-22: Simon Goldschmidt
+ * ppp.c: Fixed bug #32648 (PPP code crashes when terminating a link) by only
+ calling sio_read_abort() if the file descriptor is valid.
+
2011-03-14: Simon Goldschmidt
* err.h/.c, sockets.c, api_msg.c: fixed bug #31748 (Calling non-blocking connect
more than once can render a socket useless) since it mainly involves changing
pppRecvWakeup(int pd)
{
PPPDEBUG(LOG_DEBUG, ("pppRecvWakeup: unit %d\n", pd));
- sio_read_abort(pppControl[pd].fd);
+ if (pppControl[pd].openFlag != 0) {
+ sio_read_abort(pppControl[pd].fd);
+ }
}
#endif /* PPPOS_SUPPORT */
void
pppSigHUP(int pd)
{
-#if PPPOE_SUPPORT
- PPPControl *pc = &pppControl[pd];
- if(pc->ethif) {
- PPPDEBUG(LOG_DEBUG, ("pppSigHUP: unit %d sig_hup -> pppHupCB\n", pd));
- pppHup(pd);
- } else
-#endif /* PPPOE_SUPPORT */
- {
-#if PPPOS_SUPPORT
- PPPDEBUG(LOG_DEBUG, ("pppSigHUP: unit %d sig_hup -> pppHupCB\n", pd));
- pppHup(pd);
- pppRecvWakeup(pd);
-#endif /* PPPOS_SUPPORT */
- }
+ PPPDEBUG(LOG_DEBUG, ("pppSigHUP: unit %d sig_hup -> pppHupCB\n", pd));
+ pppHup(pd);
}
#if PPPOS_SUPPORT