• 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: Which OT Sample To Use?
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Which OT Sample To Use?


  • Subject: Re: Which OT Sample To Use?
  • From: Bob Bradley <email@hidden>
  • Date: Sun, 09 Feb 2003 07:41:37 -0800
  • Newsgroups: apple.lists.macnetworkprog
  • Organization: Uh huh huh...It says Organ
  • Xref: forum.apple.com apple.lists.macnetworkprog:1752

In article <email@hidden>,
Quinn <email@hidden> wrote:

> The problem is that 9.1 can mess up the RPC associated with
> MPRemoteCall, which causes the MP thread never to unblock. I might
> have been able to work around this in OTMP itself, but other MP
> services (such as MPAllocateAligned!) use MPRemoteCall, so there was
> little point.

One way to workaround this problem on Mac OS 9.1 is to T-Vector patch
WakeUpProcess and do nothing if MPTaskIsPreemptive returns true and just
call through to the original if false.

The root problem was that someone had added a call to WakeUpProcess
inside MPRemoteCall to reduce latency, but this introduced a race
condition because the system trap patches WakeUpProcess (as of 9.0) such
that when it is called from an MP task, it signals the blue task to
execute it. This signaling process uses the same mechanism as remote
calls (a single element, per-task RPC queue) so if it hit that window,
it could steal the element and prevent a remote call from completing

I changed the remote call stuff to do the WakeUpProcess asynchronously
to fix the problem (post 9.1) and not lose the performance intention of
the one who added the WakeUpProcess call, but you can also use a
T-Vector patch to avoid the race condition if you're running on Mac OS
9.1.
_______________________________________________
macnetworkprog mailing list | email@hidden
Help/Unsubscribe/Archives: http://www.lists.apple.com/mailman/listinfo/macnetworkprog
Do not post admin requests to the list. They will be ignored.

References: 
 >Re: Which OT Sample To Use? (From: Richard Buckle <email@hidden>)

  • Prev by Date: Re: CFNetwork to access member variables of my objective-c classes?
  • Next by Date: Recvfrom
  • Previous by thread: Re: Which OT Sample To Use?
  • Next by thread: MIME types and wildcards...
  • Index(es):
    • Date
    • Thread