You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
In the LispWorks version of start-listening, the acceptor process slot is is set after comm::start-up-server returns, which happens after the server starts to work, so something may try to access this slot before the setting.
It seems that happens only in (method shutdown (taskmaster)) and (method stop (acceptor)), so causes errors only if the server is being shutdown very quickly. That probably doesn't affect real application, but happens occasionally when we (LispWorks Ltd) run tests that use hunchentoot.
The right way to fix is:
have :initform to the slot, so it is always bound.
In the end of start-listening, after setting the slot, check if the acceptor was already shutdown and if it was, terminate the server.
(method stop (acceptor)) need to check if the process is not NIL.
Other bits:
The terminating of the server should be done now (since LW 6.1) by comm:server-terminate.
The function of the server, when it sees that the acceptor shutdown, can terminate it itself. It should
also close the handle in this case,
The text was updated successfully, but these errors were encountered:
In the LispWorks version of start-listening, the acceptor process slot is is set after comm::start-up-server returns, which happens after the server starts to work, so something may try to access this slot before the setting.
It seems that happens only in (method shutdown (taskmaster)) and (method stop (acceptor)), so causes errors only if the server is being shutdown very quickly. That probably doesn't affect real application, but happens occasionally when we (LispWorks Ltd) run tests that use hunchentoot.
The right way to fix is:
Other bits:
The terminating of the server should be done now (since LW 6.1) by comm:server-terminate.
The function of the server, when it sees that the acceptor shutdown, can terminate it itself. It should
also close the handle in this case,
The text was updated successfully, but these errors were encountered: