Hi Gabriel.  Happy that you’re getting some progress.  Did Jens’s reply not 
explain why it would be interfered with when running in the debugger?

> On Jan 31, 2024, at 10:33 AM, Gabriel Zachmann via Cocoa-dev 
> <cocoa-dev@lists.apple.com> wrote:
> 
> I have investigated a bit further.
> 
> When I launch my app from lldb (on the command line),
> it still stops in mach_msg2_trap when I send a SIGUSR1 to my app.
> 
> But at least, I get a more meaningful stack trace:
> 
> * thread #1, queue = 'com.apple.main-thread', stop reason = signal SIGUSR1
>  * frame #0: 0x0000000188d91874 libsystem_kernel.dylib`mach_msg2_trap + 8
>    frame #1: 0x0000000188da3cf0 libsystem_kernel.dylib`mach_msg2_internal + 80
>    frame #2: 0x0000000188d9a4b0 libsystem_kernel.dylib`mach_msg_overwrite + 
> 476
>    frame #3: 0x0000000188d91bf8 libsystem_kernel.dylib`mach_msg + 24
>    frame #4: 0x0000000188eafbf4 CoreFoundation`__CFRunLoopServiceMachPort + 
> 160
>    frame #5: 0x0000000188eae4bc CoreFoundation`__CFRunLoopRun + 1208
>    frame #6: 0x0000000188ead9ac CoreFoundation`CFRunLoopRunSpecific + 608
>    frame #7: 0x000000019345c448 HIToolbox`RunCurrentEventLoopInMode + 292
>    frame #8: 0x000000019345c284 HIToolbox`ReceiveNextEventCommon + 648
>    frame #9: 0x000000019345bfdc 
> HIToolbox`_BlockUntilNextEventMatchingListInModeWithFilter + 76
>    frame #10: 0x000000018c68a8a4 AppKit`_DPSNextEvent + 660
>    frame #11: 0x000000018ce64980 AppKit`-[NSApplication(NSEventRouting) 
> _nextEventMatchingEventMask:untilDate:inMode:dequeue:] + 716
>    frame #12: 0x000000018c67dd50 AppKit`-[NSApplication run] + 476
>    frame #13: 0x000000018c655014 AppKit`NSApplicationMain + 880
>    frame #14: 0x0000000100021534 ArtSaverApp`main(argc=1, 
> argv=0x000000016fdfefd8) at main.m:10:12
>    frame #15: 0x0000000188a510e0 dyld`start + 2360
> 
> 
> Does anybody have an idea why my signal handler would not get called when the 
> app is running in the debugger?
> But it does get called (as it should) when not running in the debugger?
> How could a debugger possibly prevent my app from installing a signal handler 
> ?
> 
> I'd like to debug my app after it caught the SIGUSR1 ...
> 
> 
> Best regards, Gabriel
> 
> 
>> 
>> I am setting up a signal handler in my app like this:
>> 
>>  void *e = signal( SIGUSR1, signal_handler );
>>  if ( e == SIG_ERR )
>>     ...
>> 
>> It works (i can 'kill -30 <pid>'), BUT ONLY, if I run my app outside of 
>> Xcode.
>> 
>> When I launch it from Xcode, and I send a SIGUSR1 to my app, it always 
>> breaks at mach_msg2_trap.
>> Obviously, this is a bit tedious for developing, since now I always have to 
>> go through Product / Archive / Distribute ...
>> 
>> Any ideas, how I can prevent this from happening?
>> 
>> And it's unclear to me what's going on. Can Xcode really prevent signal(3) 
>> from installing a signal handler?
>> Or does a kill on the command line deliver the signal to several processes, 
>> one of them, maybe, an ancillary process from Xcode?
>> 
> 
> _______________________________________________
> 
> Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)
> 
> Please do not post admin requests or moderator comments to the list.
> Contact the moderators at cocoa-dev-admins(at)lists.apple.com
> 
> Help/Unsubscribe/Update your Subscription:
> https://lists.apple.com/mailman/options/cocoa-dev/zav%40mac.com
> 
> This email sent to z...@mac.com

_______________________________________________

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
https://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to arch...@mail-archive.com

Reply via email to