OTSnd() weirdness
OTSnd() weirdness
- Subject: OTSnd() weirdness
- From: "Thomas E. Knowlton, Jr." <email@hidden>
- Date: Mon, 23 Feb 2004 17:21:32 -0700
My OpenTransport server is using asynchronous blocking endpoints to
accept multiple connections.
I'm doing OTRcv() only from notifier code, but I'm trying to do all my
OTSnd() from my application's WNE loop.
Basically, I've got a number of different components that would like to
share the connection for send, and some of those run in interrupt
contexts, and some run at SystemTask time, so my application just
Enqueue()'s the data to be sent from wherever it is sent, and in the
WNE loop, looks to see if the queue is not empty, and calls OTSnd(),
Dequeue()ing when OTSnd is successful.
That's the theory, anyway. In actuality, when I call OTSnd(), I'm
finding that before it returns, I enter my notifier with a
T_MEMORYRELEASED for the buffer that was just sent, as well as T_DATA
whenever more data is pending. When I would return from the notifier, I
end up in MacsBug with "PowerPC illegal instruction at 00000008". This
is repeatable.
Unfortunately, I have arrived at a point where I'm at a loss for how to
debug. Using the OpenTransport debug library doesn't help. I've
literally peppered my code with DebugStr(), and the last thing I see
before the crash is the DebugStr() immediately before the notifier
returns.
Any suggestions?
Gratefully,
--
Tommy Knowlton
_______________________________________________
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.