Xcode intercepts signals in the process being debugged (for good reason).
You can ignore specific signals in Xcode (i.e. pass them through to the process 
being debugged) by breaking into the debugger, then enter in the Xcode console 
part (example for SIGUSR1):

        process handle SIGUSR1 -s false
        process handle SIGUSR1 -p true

HTH,
-jens


> Von: Gabriel Zachmann <z...@cs.uni-bremen.de>
> Betreff: Xcode interferes with signal handler (was: Sending SIGUSR1 to a 
> process)
> Datum: 30. Januar 2024 um 20:31:45 MEZ
> An: "cocoa-dev@lists.apple.com" <cocoa-dev@lists.apple.com>
> 
> 
> 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?
> 
> 
> Best regards, Gabriel
> 
_______________________________________________

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