Mailing Lists: Apple Mailing Lists

Image of Mac OS face in stamp
 
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: How to get scripting to work without NSApplication



Jason,

I had exactly the same issue as you and was told not to use
any Cocoa calls in a signal handler. My solution was to create
an NSPipe, do a readInBackgroundAndNotify on the read end,
and then from the signal handler just do a write(2) directly
on the write-end file descriptor.

This works well, and I later saw on the Darwin developers
mailing list somebody recommending this writing-to-a-pipe
from a signal handler trick, so I guess it is pretty safe.

I.

On Monday, December 10, 2001, at 07:32 , Jason Bobier wrote:

This is a background damon running as root. I only need to handle the
AEQuit event so that I can cleanup our sdk before the damon is
terminated.

Currently I am catching SIGTERM and doing the cleanup there. I was told
that this has issues though because cocoa can't handle being called from
signal handlers.

One thing that I did just notice though. NSNotificationCenter is
thread-safe and re-entrant. Does this mean that I could send a
notification to myself from a signal handler? If so, that would do the
job.

Thanx,

Jason


References: 
 >Re: How to get scripting to work without NSApplication (From: Jason Bobier <email@hidden>)



Visit the Apple Store online or at retail locations.
1-800-MY-APPLE

Contact Apple | Terms of Use | Privacy Policy

Copyright © 2007 Apple Inc. All rights reserved.