Stop using NSLog in internal functions because it seems to acquire a mutex that violates our locking order and causes deadlocks

This commit is contained in:
Cameron Gutman 2014-10-21 05:11:12 -04:00
parent dfe2addca2
commit 528b44f2f2
4 changed files with 30 additions and 30 deletions

View File

@ -25,7 +25,7 @@ static NSLock *controllerStreamLock;
GCController *controller = [GCController controllers][i];
if (controller != NULL) {
NSLog(@"Controller connected!");
printf("Controller connected!\n");
controller.controllerPausedHandler = ^(GCController *controller) {
// We call LiSendControllerEvent while holding a lock to prevent
// multiple simultaneous calls since this function isn't thread safe.
@ -117,7 +117,7 @@ static NSLock *controllerStreamLock;
[ControllerSupport registerControllerCallbacks];
}];
self.disconnectObserver = [[NSNotificationCenter defaultCenter] addObserverForName:GCControllerDidDisconnectNotification object:nil queue:[NSOperationQueue mainQueue] usingBlock:^(NSNotification *note) {
NSLog(@"Controller disconnected!");
printf("Controller disconnected!\n");
}];
[ControllerSupport registerControllerCallbacks];

View File

@ -19,7 +19,7 @@
touchLocation = [touch locationInView:self];
touchMoved = false;
NSLog(@"Touch down");
printf("Touch down\n");
}
- (void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event {
@ -38,10 +38,10 @@
}
- (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event {
NSLog(@"Touch up");
printf("Touch up\n");
if (!touchMoved) {
NSLog(@"Sending left mouse button press");
printf("Sending left mouse button press\n");
LiSendMouseButtonEvent(BUTTON_ACTION_PRESS, BUTTON_LEFT);

View File

@ -109,7 +109,7 @@ void ArInit(void)
status = AudioComponentInstanceNew(AudioComponentFindNext(NULL, &audioDesc), &audioUnit);
if (status) {
NSLog(@"Unable to instantiate new AudioComponent: %d", (int32_t)status);
printf("Unable to instantiate new AudioComponent: %d\n", (int32_t)status);
}
AudioStreamBasicDescription audioFormat = {0};
@ -130,7 +130,7 @@ void ArInit(void)
&audioFormat,
sizeof(audioFormat));
if (status) {
NSLog(@"Unable to set audio unit to input: %d", (int32_t)status);
printf("Unable to set audio unit to input: %d\n", (int32_t)status);
}
AURenderCallbackStruct callbackStruct = {0};
@ -144,12 +144,12 @@ void ArInit(void)
&callbackStruct,
sizeof(callbackStruct));
if (status) {
NSLog(@"Unable to set audio unit callback: %d", (int32_t)status);
printf("Unable to set audio unit callback: %d\n", (int32_t)status);
}
status = AudioUnitInitialize(audioUnit);
if (status) {
NSLog(@"Unable to initialize audioUnit: %d", (int32_t)status);
printf("Unable to initialize audioUnit: %d\n", (int32_t)status);
}
}
@ -162,7 +162,7 @@ void ArRelease(void)
OSStatus status = AudioUnitUninitialize(audioUnit);
if (status) {
NSLog(@"Unable to uninitialize audioUnit: %d", (int32_t)status);
printf("Unable to uninitialize audioUnit: %d\n", (int32_t)status);
}
// Audio session is now inactive
@ -184,7 +184,7 @@ void ArStart(void)
{
OSStatus status = AudioOutputUnitStart(audioUnit);
if (status) {
NSLog(@"Unable to start audioUnit: %d", (int32_t)status);
printf("Unable to start audioUnit: %d\n", (int32_t)status);
}
}
@ -192,7 +192,7 @@ void ArStop(void)
{
OSStatus status = AudioOutputUnitStop(audioUnit);
if (status) {
NSLog(@"Unable to stop audioUnit: %d", (int32_t)status);
printf("Unable to stop audioUnit: %d\n", (int32_t)status);
}
}
@ -212,7 +212,7 @@ void ArDecodeAndPlaySample(char* sampleData, int sampleLength)
[audioLock lock];
if (audioBufferQueueLength > MAX_QUEUE_ENTRIES) {
NSLog(@"Audio player too slow. Dropping all decoded samples!");
printf("Audio player too slow. Dropping all decoded samples!\n");
// Clear all values from the buffer queue
struct AUDIO_BUFFER_QUEUE_ENTRY *entry;
@ -251,29 +251,29 @@ void ClStageComplete(int stage)
void ClStageFailed(int stage, long errorCode)
{
NSLog(@"Stage %d failed: %ld", stage, errorCode);
printf("Stage %d failed: %ld\n", stage, errorCode);
}
void ClConnectionStarted(void)
{
NSLog(@"Connection started");
printf("Connection started\n");
}
void ClConnectionTerminated(long errorCode)
{
NSLog(@"ConnectionTerminated: %ld", errorCode);
printf("ConnectionTerminated: %ld\n", errorCode);
[_callback connectionTerminated];
}
void ClDisplayMessage(char* message)
{
NSLog(@"DisplayMessage: %s", message);
printf("DisplayMessage: %s\n", message);
}
void ClDisplayTransientMessage(char* message)
{
NSLog(@"DisplayTransientMessage: %s", message);
printf("DisplayTransientMessage: %s\n", message);
}
-(void) terminate

View File

@ -60,7 +60,7 @@
kCFAllocatorDefault,
NULL, 0, nalLength + 1, 0);
if (status != noErr) {
NSLog(@"CMBlockBufferReplaceDataBytes failed: %d", (int)status);
printf("CMBlockBufferReplaceDataBytes failed: %d\n", (int)status);
return;
}
@ -70,7 +70,7 @@
status = CMBlockBufferReplaceDataBytes(lengthBytes, existingBuffer,
oldOffset, NAL_LENGTH_PREFIX_SIZE);
if (status != noErr) {
NSLog(@"CMBlockBufferReplaceDataBytes failed: %d", (int)status);
printf("CMBlockBufferReplaceDataBytes failed: %d\n", (int)status);
return;
}
}
@ -81,7 +81,7 @@
kCFAllocatorDefault, NULL, 0,
NAL_LENGTH_PREFIX_SIZE, 0);
if (status != noErr) {
NSLog(@"CMBlockBufferAppendMemoryBlock failed: %d", (int)status);
printf("CMBlockBufferAppendMemoryBlock failed: %d\n", (int)status);
return;
}
@ -92,7 +92,7 @@
status = CMBlockBufferReplaceDataBytes(lengthBytes, existingBuffer,
oldOffset, NAL_LENGTH_PREFIX_SIZE);
if (status != noErr) {
NSLog(@"CMBlockBufferReplaceDataBytes failed: %d", (int)status);
printf("CMBlockBufferReplaceDataBytes failed: %d\n", (int)status);
return;
}
@ -102,7 +102,7 @@
kCFAllocatorNull, // Don't deallocate data on free
NULL, 0, dataLength, 0);
if (status != noErr) {
NSLog(@"CMBlockBufferReplaceDataBytes failed: %d", (int)status);
printf("CMBlockBufferReplaceDataBytes failed: %d\n", (int)status);
return;
}
}
@ -116,7 +116,7 @@
if (formatDesc == NULL && (nalType == 0x7 || nalType == 0x8)) {
if (waitingForSps && nalType == 0x7) {
NSLog(@"Got SPS");
printf("Got SPS\n");
spsData = [NSData dataWithBytes:&data[FRAME_START_PREFIX_SIZE] length:length - FRAME_START_PREFIX_SIZE];
waitingForSps = false;
}
@ -124,13 +124,13 @@
else if ((waitingForPpsA || waitingForPpsB) && nalType == 0x8) {
// Read the NALU's PPS index to figure out which PPS this is
if (waitingForPpsA) {
NSLog(@"Got PPS 1");
printf("Got PPS 1\n");
ppsDataA = [NSData dataWithBytes:&data[FRAME_START_PREFIX_SIZE] length:length - FRAME_START_PREFIX_SIZE];
waitingForPpsA = false;
ppsDataAFirstByte = data[FRAME_START_PREFIX_SIZE + 1];
}
else if (data[FRAME_START_PREFIX_SIZE + 1] != ppsDataAFirstByte) {
NSLog(@"Got PPS 2");
printf("Got PPS 2\n");
ppsDataA = [NSData dataWithBytes:&data[FRAME_START_PREFIX_SIZE] length:length - FRAME_START_PREFIX_SIZE];
waitingForPpsB = false;
}
@ -141,7 +141,7 @@
const uint8_t* const parameterSetPointers[] = { [spsData bytes], [ppsDataA bytes], [ppsDataB bytes] };
const size_t parameterSetSizes[] = { [spsData length], [ppsDataA length], [ppsDataB length] };
NSLog(@"Constructing format description");
printf("Constructing format description\n");
status = CMVideoFormatDescriptionCreateFromH264ParameterSets(kCFAllocatorDefault,
2, /* count of parameter sets */
parameterSetPointers,
@ -149,7 +149,7 @@
NAL_LENGTH_PREFIX_SIZE,
&formatDesc);
if (status != noErr) {
NSLog(@"Failed to create format description: %d", (int)status);
printf("Failed to create format description: %d\n", (int)status);
formatDesc = NULL;
}
}
@ -178,7 +178,7 @@
status = CMBlockBufferCreateEmpty(NULL, 0, 0, &blockBuffer);
if (status != noErr) {
NSLog(@"CMBlockBufferCreateEmpty failed: %d", (int)status);
printf("CMBlockBufferCreateEmpty failed: %d\n", (int)status);
free(data);
return;
}
@ -213,7 +213,7 @@
NULL, 0, NULL,
&sampleBuffer);
if (status != noErr) {
NSLog(@"CMSampleBufferCreate failed: %d", (int)status);
printf("CMSampleBufferCreate failed: %d\n", (int)status);
CFRelease(blockBuffer);
return;
}