Discussion:
[ace-users] ACE schedule timer question
(too old to reply)
Naveed
2003-08-11 09:42:34 UTC
Permalink
Hi,
Does Reactor's
cancel_timer ( long timer_id,
const void ** arg = 0,
int dont_call_handle_close = 1
)

method make sure that

1. handle_timeout(..) for this timer_id is not called in future.

2. cancel_timer(..) for a particular timer_id succeeds only after
handle_timeout(..) for this timer_id is completed, if this method is
already called and not finished, when cancel_timer is called.

I am assuming a multi-threaded environment where handle_timeout is
being called from reactor's thread and cancel_timer is called from a
different thread.
Also assuming, schedule_timer(..) is set to time-out every 'n' sec,
repeatedly.

s/w :
-----
ACE 5.2.4
OS: linux
Compiler:gcc

Thank you,
Naveed

-----Original Message-----
From: owner-ace-***@cse.wustl.edu
[mailto:owner-ace-***@cse.wustl.edu] On Behalf Of Knüppel, Dieter
Sent: Sunday, August 10, 2003 11:53 PM
To: 'Douglas C. Schmidt'; ace-***@cs.wustl.edu;
Jean-***@alcatel.fr; ***@ociweb.com
Subject: AW: [ace-users] ACE Porting on pSOS 2.5.4


Hi Jean-Marc,

yes indeed it's possible to use ACE with PSOS!

used versions/types: Compiler: DIAB Data 4.4b
ACE: 5.2.6
PSOS: 2.5


Take care about psos and compiler header / library, because diab header
are psos version dependant! Anyway it's a general problem to use this
mix, so it's not really a ace problem ;-)

The library for PPC is about 25Mb including debug symbols. Diab 4.4b
support all required C++ feature ACE needs, i.e. really required is only
template support ;-)

regards,
Dieter Knüppel


-----Ursprüngliche Nachricht-----
Von: Douglas C. Schmidt [mailto:***@cse.wustl.edu]
Gesendet: Samstag, 9. August 2003 23:11
An: ace-***@cs.wustl.edu; Jean-***@alcatel.fr;
***@ociweb.com
Betreff: Re: [ace-users] ACE Porting on pSOS 2.5.4


Hi Jean-Marc,

I recommend that you contact Malcolm Spence
<***@ociweb.com> since his company provides commercial support for
ACE+TAO on a wide range of platforms, including embedded systems.

Thanks,

doug
Can ACE be installed and run upon pSOS 2.5.4 ? Have you had some
feedback from ACE users on this topic ? The only info I could found
on
the Internet is a guy who tried to port ACE on pSOS in 2000 and who
obtained a 88Mo ACE lib !! Which of course not acceptable.
I looked at the ACE delivery and found a configuration file which
seems
applicable for this OS (config-psos-diab-ppc.h). In addition, the
OS.h
file deals with pSOS options.
Nevertheless, in the ACE installation html pages, pSOS is not
mentioned
as a supported or even a ported OS. No indication is provided for an
installation on pSOS.
Furthermore, concerning VxWorks it is written that "It is not
possible
to use VxWorks 5.4 and earlier with ACE anymore because the compilers
delivered with 5.4 and earlier don't support the C++ features ACE
needs." Could a similar problem exist with pSOS 2.5.4 ?
To summarize : Do you think that the porting of ACE on pSOS 2.5.4 is
possible and can be done in an reasonable timeframe ?
Thanks for your help
Jean-Marc Gerber
--
Dr. Douglas C. Schmidt, Professor TEL: (615) 343-8197
Electrical Engineering and Computer Science FAX: (615) 343-7440
Vanderbilt University WEB:
www.cs.wustl.edu/~schmidt/
Nashville, TN 37203 NET:
***@vanderbilt.edu
s***@ociweb.com
2003-08-12 17:06:52 UTC
Permalink
Post by Naveed
Hi,
Does Reactor's
cancel_timer ( long timer_id,
const void ** arg = 0,
int dont_call_handle_close = 1
)
method make sure that
1. handle_timeout(..) for this timer_id is not called in future.
Yes.
Post by Naveed
2. cancel_timer(..) for a particular timer_id succeeds only after
handle_timeout(..) for this timer_id is completed, if this method is
already called and not finished, when cancel_timer is called.
Yes. There is a mutex that prevents cancel_timer and expire (which calls
handle_timeout) from running simultaneously.

Rich
Post by Naveed
I am assuming a multi-threaded environment where handle_timeout is
being called from reactor's thread and cancel_timer is called from a
different thread.
Also assuming, schedule_timer(..) is set to time-out every 'n' sec,
repeatedly.
-----
ACE 5.2.4
OS: linux
Compiler:gcc
Thank you,
Naveed
--
--------------------------------------------------------------------
Rich Seibel, Software Engineer (314)579-0066 ext 211
Object Computing, Inc. ***@ociweb.com
Need ACE training? See http://www.theaceorb.com
--------------------------------------------------------------------
Loading...