• Open Menu Close Menu
  • Apple
  • Shopping Bag
  • Apple
  • Mac
  • iPad
  • iPhone
  • Watch
  • TV
  • Music
  • Support
  • Search apple.com
  • Shopping Bag

Lists

Open Menu Close Menu
  • Terms and Conditions
  • Lists hosted on this site
  • Email the Postmaster
  • Tips for posting to public mailing lists
Re: Xcode interferes with signal handler (was: Sending SIGUSR1 to a process)
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Xcode interferes with signal handler (was: Sending SIGUSR1 to a process)


  • Subject: Re: Xcode interferes with signal handler (was: Sending SIGUSR1 to a process)
  • From: Alex Zavatone via Cocoa-dev <email@hidden>
  • Date: Wed, 31 Jan 2024 08:54:40 -0600

That’s a great tip Jens.  Gabriel, if you build your app with different
dev/release schemes, you could detect your build scheme and then execute the
desired process based on if you’re able to debug or not.

Just expose the environment variable for $CONFIGURATION in an info.plist file,
read it into a variable and then manage your response based on what the value
is.  If you want details on that, contact me off list and I’ll show you.

Reference:
https://developer.apple.com/library/archive/documentation/DeveloperTools/Reference/XcodeBuildSettingRef/1-Build_Setting_Reference/build_setting_ref.html

Hopefully, Jens’s tip will get you what you need!

Best,
Alex Zavatone

> On Jan 31, 2024, at 12:20 AM, Jens Miltner via Cocoa-dev
> <email@hidden> wrote:
>
> 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 <email@hidden>
>> Betreff: Xcode interferes with signal handler (was: Sending SIGUSR1 to a
>> process)
>> Datum: 30. Januar 2024 um 20:31:45 MEZ
>> An: "email@hidden" <email@hidden>
>>
>>
>> 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 (email@hidden)
>
> 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:
>
> This email sent to email@hidden

_______________________________________________

Cocoa-dev mailing list (email@hidden)

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:

This email sent to email@hidden

References: 
 >Re: Xcode interferes with signal handler (was: Sending SIGUSR1 to a process) (From: Jens Miltner via Cocoa-dev <email@hidden>)

  • Prev by Date: Re: Xcode interferes with signal handler (was: Sending SIGUSR1 to a process)
  • Next by Date: Re: Xcode interferes with signal handler
  • Previous by thread: Re: Xcode interferes with signal handler (was: Sending SIGUSR1 to a process)
  • Next by thread: Re: Xcode interferes with signal handler
  • Index(es):
    • Date
    • Thread