unique_fd is passed by value in AIDL interfaces
FileDescriptor type in AIDL was translated into const unique_fd& in C++. Now, it is unique_fd, i.e. passed by value, to make it easier to keep it beyond the scope of the call. Bug: 144943748 Test: m Change-Id: I2b87761401361f9cf96cdda070f26e70a5c6c935
This commit is contained in:
@@ -375,7 +375,7 @@ main(int argc, char** argv)
|
|||||||
if (destination == DEST_STDOUT) {
|
if (destination == DEST_STDOUT) {
|
||||||
// Call into the service
|
// Call into the service
|
||||||
sp<StatusListener> listener(new StatusListener());
|
sp<StatusListener> listener(new StatusListener());
|
||||||
status = service->reportIncidentToStream(args, listener, writeEnd);
|
status = service->reportIncidentToStream(args, listener, std::move(writeEnd));
|
||||||
|
|
||||||
if (!status.isOk()) {
|
if (!status.isOk()) {
|
||||||
fprintf(stderr, "reportIncident returned \"%s\"\n", status.toString8().string());
|
fprintf(stderr, "reportIncident returned \"%s\"\n", status.toString8().string());
|
||||||
@@ -388,7 +388,7 @@ main(int argc, char** argv)
|
|||||||
} else if (destination == DEST_DUMPSTATE) {
|
} else if (destination == DEST_DUMPSTATE) {
|
||||||
// Call into the service
|
// Call into the service
|
||||||
sp<StatusListener> listener(new StatusListener());
|
sp<StatusListener> listener(new StatusListener());
|
||||||
status = service->reportIncidentToDumpstate(writeEnd, listener);
|
status = service->reportIncidentToDumpstate(std::move(writeEnd), listener);
|
||||||
if (!status.isOk()) {
|
if (!status.isOk()) {
|
||||||
fprintf(stderr, "reportIncident returned \"%s\"\n", status.toString8().string());
|
fprintf(stderr, "reportIncident returned \"%s\"\n", status.toString8().string());
|
||||||
return 1;
|
return 1;
|
||||||
|
|||||||
@@ -279,7 +279,7 @@ Status IncidentService::reportIncident(const IncidentReportArgs& args) {
|
|||||||
|
|
||||||
Status IncidentService::reportIncidentToStream(const IncidentReportArgs& args,
|
Status IncidentService::reportIncidentToStream(const IncidentReportArgs& args,
|
||||||
const sp<IIncidentReportStatusListener>& listener,
|
const sp<IIncidentReportStatusListener>& listener,
|
||||||
const unique_fd& stream) {
|
unique_fd stream) {
|
||||||
IncidentReportArgs argsCopy(args);
|
IncidentReportArgs argsCopy(args);
|
||||||
|
|
||||||
// Streaming reports can not also be broadcast.
|
// Streaming reports can not also be broadcast.
|
||||||
@@ -306,7 +306,7 @@ Status IncidentService::reportIncidentToStream(const IncidentReportArgs& args,
|
|||||||
return Status::ok();
|
return Status::ok();
|
||||||
}
|
}
|
||||||
|
|
||||||
Status IncidentService::reportIncidentToDumpstate(const unique_fd& stream,
|
Status IncidentService::reportIncidentToDumpstate(unique_fd stream,
|
||||||
const sp<IIncidentReportStatusListener>& listener) {
|
const sp<IIncidentReportStatusListener>& listener) {
|
||||||
uid_t caller = IPCThreadState::self()->getCallingUid();
|
uid_t caller = IPCThreadState::self()->getCallingUid();
|
||||||
if (caller != AID_ROOT && caller != AID_SHELL) {
|
if (caller != AID_ROOT && caller != AID_SHELL) {
|
||||||
|
|||||||
@@ -121,9 +121,9 @@ public:
|
|||||||
|
|
||||||
virtual Status reportIncidentToStream(const IncidentReportArgs& args,
|
virtual Status reportIncidentToStream(const IncidentReportArgs& args,
|
||||||
const sp<IIncidentReportStatusListener>& listener,
|
const sp<IIncidentReportStatusListener>& listener,
|
||||||
const unique_fd& stream);
|
unique_fd stream);
|
||||||
|
|
||||||
virtual Status reportIncidentToDumpstate(const unique_fd& stream,
|
virtual Status reportIncidentToDumpstate(unique_fd stream,
|
||||||
const sp<IIncidentReportStatusListener>& listener);
|
const sp<IIncidentReportStatusListener>& listener);
|
||||||
|
|
||||||
virtual Status systemRunning();
|
virtual Status systemRunning();
|
||||||
|
|||||||
Reference in New Issue
Block a user