mirror of https://github.com/ipxe/ipxe.git
Unplug before sending close() message, to avoid screwing up interfaces
which respond to close with a reopen() (e.g. iSCSI).pull/1/head
parent
d3ad76bc74
commit
4075f7596b
|
@ -29,16 +29,16 @@
|
|||
void job_done ( struct job_interface *job, int rc ) {
|
||||
struct job_interface *dest = job_get_dest ( job );
|
||||
|
||||
dest->op->done ( dest, rc );
|
||||
job_unplug ( job );
|
||||
dest->op->done ( dest, rc );
|
||||
job_put ( dest );
|
||||
}
|
||||
|
||||
void job_kill ( struct job_interface *job ) {
|
||||
struct job_interface *dest = job_get_dest ( job );
|
||||
|
||||
dest->op->kill ( dest );
|
||||
job_unplug ( job );
|
||||
dest->op->kill ( dest );
|
||||
job_put ( dest );
|
||||
}
|
||||
|
||||
|
|
|
@ -50,8 +50,8 @@ void resolv_done ( struct resolv_interface *resolv, struct sockaddr *sa,
|
|||
int rc ) {
|
||||
struct resolv_interface *dest = resolv_get_dest ( resolv );
|
||||
|
||||
dest->op->done ( dest, sa, rc );
|
||||
resolv_unplug ( resolv );
|
||||
dest->op->done ( dest, sa, rc );
|
||||
resolv_put ( dest );
|
||||
}
|
||||
|
||||
|
|
|
@ -38,8 +38,8 @@ void xfer_close ( struct xfer_interface *xfer, int rc ) {
|
|||
|
||||
DBGC ( xfer, "XFER %p->%p close\n", xfer, dest );
|
||||
|
||||
dest->op->close ( dest, rc );
|
||||
xfer_unplug ( xfer );
|
||||
dest->op->close ( dest, rc );
|
||||
xfer_put ( dest );
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue