mirror of
https://github.com/ipxe/ipxe
synced 2025-12-13 23:41:45 +03:00
Gave asynchronous operations approximate POSIX signal semantics. This
will enable us to cascade async operations, which is necessary in order to properly support DNS. (For example, an HTTP request may have to redirect to a new location and will have to perform a new DNS lookup, so we can't just rely on doing the name lookup at the time of parsing the initial URL). Anything other than HTTP is probably broken right now; I'll fix the others up asap.
This commit is contained in:
@@ -83,7 +83,7 @@ static void ftp_done ( struct ftp_request *ftp, int rc ) {
|
||||
tcp_close ( &ftp->tcp_data );
|
||||
|
||||
/* Mark asynchronous operation as complete */
|
||||
async_done ( &ftp->aop, rc );
|
||||
async_done ( &ftp->async, rc );
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -379,5 +379,5 @@ struct async_operation * ftp_get ( struct ftp_request *ftp ) {
|
||||
if ( ( rc = tcp_connect ( &ftp->tcp, &ftp->server, 0 ) ) != 0 )
|
||||
ftp_done ( ftp, rc );
|
||||
|
||||
return &ftp->aop;
|
||||
return &ftp->async;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user