Summary: | work_pending() and perform_work() are not cooperative | ||
---|---|---|---|
Product: | TAO | Reporter: | Irfan Pyarali <irfan> |
Component: | ORB | Assignee: | Irfan Pyarali <irfan> |
Status: | RESOLVED FIXED | ||
Severity: | major | ||
Priority: | P2 | ||
Version: | 1.0 | ||
Hardware: | All | ||
OS: | All |
Description
Irfan Pyarali
1999-07-30 01:44:41 CDT
Just some more notes: the spec does not allow perform_work() to block forever, just to perform "one unit of work" which is implementation defined. IMHO the correct implementation is to define a user configurable timeout for both work_pending() and perform_work(), that should not be hard to implement using the timeout features in the reactor. Irfan has shown interest in this problem, he should be point man. work_pending() and perform_work() now make sure that the ORB hasn't been shutdown before doing anything else. See: ChangeLogTag:Fri Aug 27 17:06:54 1999 Ossama Othman <othman@cs.wustl.edu> On second thought, the shutdown check I implemented should be made thread safe. Currently, it is not! I'll work on this soon... (famous last words :) *** Bug 200 has been marked as a duplicate of this bug. *** Just a brief note, this bug is closely related to 347, it is not the same thing, and i cannot figure the exact relationship (thus i'm hesitant to introduce the dependency to bugzilla). But the fact is that whenever this one gets fixed is a good chance to fix the other one too. ChangeLogTag: Thu Jan 13 20:11:55 2000 Irfan Pyarali <irfan@cs.wustl.edu> |