diff --git a/GCDTask.h b/GCDTask.h old mode 100644 new mode 100755 index 028bb41..614e980 --- a/GCDTask.h +++ b/GCDTask.h @@ -35,11 +35,11 @@ - (void) launchWithOutputBlock: (void (^)(NSData* stdOutData)) stdOut andErrorBlock: (void (^)(NSData* stdErrData)) stdErr onLaunch: (void (^)()) launched - onExit: (void (^)()) exit; + onExit: (void (^)(int)) exit; - (BOOL) WriteStringToStandardInput: (NSString*) input; - (BOOL) WriteDataToStandardInput: (NSData*) input; - (void) AddArgument: (NSString*) argument; - (void) RequestTermination; -@end \ No newline at end of file +@end diff --git a/GCDTask.m b/GCDTask.m old mode 100644 new mode 100755 index 8a8a75d..a2b2a06 --- a/GCDTask.m +++ b/GCDTask.m @@ -18,7 +18,7 @@ - (id) init - (void) launchWithOutputBlock: (void (^)(NSData* stdOutData)) stdOut andErrorBlock: (void (^)(NSData* stdErrData)) stdErr onLaunch: (void (^)()) launched - onExit: (void (^)()) exit + onExit: (void (^)(int)) exit { executingTask = [[NSTask alloc] init]; @@ -106,7 +106,7 @@ - (void) launchWithOutputBlock: (void (^)(NSData* stdOutData)) stdOut dispatch_source_cancel(_stdoutSource); dispatch_async(dispatch_get_main_queue(), ^{ if(exit) - exit(); + exit([executingTask terminationStatus]); }); } @@ -153,7 +153,7 @@ - (void) launchWithOutputBlock: (void (^)(NSData* stdOutData)) stdOut dispatch_source_cancel(_stdoutSource); dispatch_source_cancel(_stderrSource); if(exit) - exit(); + exit([executingTask terminationStatus]); }; [executingTask launch];